适用于:
IoT Edge 1.5
重要
IoT Edge 1.5 LTS 是受支持的版本。 IoT Edge 1.4 LTS 的生命周期结束日期为 2024 年 11 月 12 日。 如果你使用的是较低的版本,请参阅更新 IoT Edge。
module.json 文件控制如何生成和部署模块。 Visual Studio 和 Visual Studio Code 中的 IoT Edge 模块项目包括 module.json 文件。 此文件包含 IoT Edge 模块的配置详细信息,例如生成模块时所用的版本和平台。
module.json 设置
module.json 文件具有以下设置:
| 设置 | 说明 |
|---|---|
| 图像仓库 | 模块存储库。 |
| 图像.标签.版本 | 模块版本。 |
| 图像标签平台 | 一个列表,其中包含支持的平台及其对应的 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。