【发布时间】:2019-05-29 12:02:01
【问题描述】:
您好,我正在制作 Azure IOT 边缘网关,并尝试在其上安装自定义模块,但出现此错误:
调用创建模块 serverModule 时出错:无法创建模块 serverModule 原因:没有这样的图像:MyDockerAzureContainerServer/serverModule:0.0.1-amd64) ....
但是如果我跑了
docker pull MyDockerAzureContainerServer/serverModule:0.0.1-amd64
有效!
顺便说一句:我正在开发一个运行 docker Linux 容器的 winndows10 设备
我真的不明白,谢谢你的帮助。
部署.json:
{
"$schema-template": "2.0.0",
"modulesContent": {
"$edgeAgent": {
"properties.desired": {
"schemaVersion": "1.0",
"runtime": {
"type": "docker",
"settings": {
"minDockerVersion": "v1.25",
"loggingOptions": "",
"registryCredentials": {
"Server Name": {
"username": "$CONTAINER_REGISTRY_USERNAME_user",
"password": "$CONTAINER_REGISTRY_PASSWORD_userPW",
"address": "server Name.azurecr.io"
}
}
}
},
"systemModules": {
"edgeAgent": {
"type": "docker",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-agent:1.0",
"createOptions": {}
}
},
"edgeHub": {
"type": "docker",
"status": "running",
"restartPolicy": "always",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-hub:1.0",
"createOptions": {
"HostConfig": {
"PortBindings": {
"5671/tcp": [
{
"HostPort": "5671"
}
],
"8883/tcp": [
{
"HostPort": "8883"
}
],
"443/tcp": [
{
"HostPort": "443"
}
]
}
}
}
}
}
},
"modules": {
"serverModule": {
"version": "1.0",
"type": "docker",
"status": "running",
"restartPolicy": "always",
"settings": {
"image": "${MODULES.serverModule}",
"createOptions": {}
}
}
}
}
},
"$edgeHub": {
"properties.desired": {
"schemaVersion": "1.0",
"routes": {
"serverModuleToIoTHub": "FROM /messages/modules/serverModule/outputs/* INTO $upstream"
},
"storeAndForwardConfiguration": {
"timeToLiveSecs": 7200
}
}
}
}
}
(对不起,英语不是我的母语)
【问题讨论】:
-
您是使用私有容器注册表(例如 Azure 容器注册表)还是您的映像驻留在公共 Dockerhub 中?
-
我确实在使用 Azure 容器注册表
-
你的deployment.json中有
registryCredentials吗? docs.microsoft.com/en-us/azure/iot-edge/… -
是的,我知道它们很好,因为在天蓝色中我可以看到图像
-
你能发布你的整个 deplyomen.json 吗? (删除所有密码等)