你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
配置 IoT Edge 模块生成选项
适用于: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
。