你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

配置 IoT Edge 模块生成选项

适用于:IoT Edge 1.5 复选标记IoT Edge 1.5

重要

IoT Edge 1.5 LTS 是受支持的版本。 IoT Edge 1.4 LTS 的生命周期结束日期为 2024 年 11 月 12 日。 如果你使用的是早期版本,请参阅更新 IoT Edge

module.json 文件控制如何生成和部署模块。 IoT Edge 模块 Visual Studio 和 Visual Studio Code项目包括 module.json 文件。 该文件包含 IoT Edge 模块配置详细信息,其中包括生成 IoT Edge 模块时使用的版本和平台。

module.json 设置

module.json 文件包括以下设置:

设置 说明
image.repository 模块的存储库。
image.tag.version 模块的版本。
image.tag.platforms 一个列表,其中包含支持的平台及其对应的 dockerfile。 每个条目都是平台密钥和 dockerfile 对 <platform key>:<dockerfile>
image.buildOptions 运行 docker build 时使用的生成参数。
image.contextPath 运行 docker build 时使用的上下文路径。 默认情况下,它是 module.json 文件的当前文件夹。 如果 Docker 生成需要当前文件夹中未包含的文件(例如对外部包或项目的引用),则将 contextPath 设置为所有必需文件的根路径。 验证文件是否复制到 dockerfile 中。
语言 模块的编程语言。

例如,以下 module.json 文件适用于 C# IoT Edge 模块:

{
    "$schema-version": "0.0.1",
    "description": "",
    "image": {
        "repository": "localhost:5000/edgemodule",
        "tag": {
            "version": "0.0.1",
            "platforms": {
                "amd64": "./Dockerfile.amd64", 
                "amd64.debug": "./Dockerfile.amd64.debug",
                "arm32v7": "./Dockerfile.arm32v7",
                "arm32v7.debug": "./Dockerfile.arm32v7.debug",
                "arm64v8": "./Dockerfile.arm64v8",
                "arm64v8.debug": "./Dockerfile.arm64v8.debug",
                "windows-amd64": "./Dockerfile.windows-amd64"
            }
        },
        "buildOptions": ["--add-host=docker:10.180.0.1"],
        "contextPath": "./"
    },
    "language": "csharp"
}

生成模块后,映像的最后一个标记将同时与版本和平台合并为 <repository>:<version>-<platform key>。 对于此示例,amd64.debug 的映像标记为 localhost:5000/csharpmod:0.0.1-amd64.debug

下一步

了解开发 IoT Edge 模块的要求和工具