从 docker compose 移植的 Azure IoT Edge 清单

Azure IoT Edge manifest ported from docker compose

我们已经有一个物联网边缘服务器,运行 docker 容器通过 docker 组合(无构建)。我一直在评估 Azure IoT Hub/IoT Edge 是否可能管理这些边缘设备(以及它们上面的容器 运行)。我看到部署清单(或创建选项)处理撰写文件的 'services' 部分中的大部分内容。我是 Azure 的新手,无法找到有关我可以将 docker 的 'volumes' 和 'networks' 部分放在清单中的位置(如果有的话)的文档。任何指针将不胜感激。 例如,我的撰写:

networks:
   myownnetwork:
       external: true

volumes:
   myownvolume:
       external: true

services:
   myowncontainer:
       image: "myown/nwoym:abc:latest"
       restart: always
       ports:
           - "123:321"
       networks:
           - "myownnetwork"
       volumes:
           - /myownvolume/config:/here/config:ro
       container_name: bob

在 docker 撰写文件中,在(全局)'top level',您可以指定卷和网络。指定的卷可以是共享卷。它可供 any/all 容器(可选)使用,在撰写文件的 'services' 部分中按容器定义引用。定义非默认网络也是如此。我希望对 Azure IoT Edge 部署做一些类似的事情。 'Container Create Options' 是特定于容器的。我想问题是 "How can I create shared volumes for my IoT Edge modules?" & "How can I create and use a non-default network for my IoT Edge modules".

创建选项基本上是 Docker 引擎 API: https://docs.docker.com/engine/api/v1.32/#operation/ContainerCreate

步骤 3 here 有示例。

虽然这仍处于早期预览阶段,但请继续尝试使用此工具将您的 docker-compose.yml 转换为 deployment.json,只需一个命令 -https://github.com/VSChina/compose-to-manifest