小编mar*_*ymk的帖子

在 Windows 主机上通过 docker-compose 混合 Windows 和 Linux 容器

我在尝试通过 Windows 主机上的 docker-compose 混合 Windows 和 Linux 容器时遇到问题,如https://devblogs.microsoft.com/premier-developer/mixing-windows-and-linux-containers-with-docker中所示-撰写/

我克隆了本文的原始存储库(https://github.com/RandyPatterson/DockerComposeMultiPlatform),并已使用新链接替换了 Dockerfiles 中的每个过时的基础映像,您可以在下面看到所有相关文件。我可以通过首先切换到 Linux 守护程序、为 API 启动一个容器,然后切换到 Windows 守护程序并为 Web 应用程序启动一个容器来手动运行它。

根据/sf/answers/5058225161/,docker-compose 也应该这样做,包括为相应的平台构建它,当我docker-compose up -d在 Windows 守护程序上运行时,它首先通过拉取 ApiTier 的 Linux 映像来正常启动Dockerfile 直到第一RUN行,然后我收到错误hcsshim::CreateComputeSystem 186c82040b2e396b4b6e4c4063c2c8f562e855469630b82415e51043f6cb1773: An adapter was not found.

docker-compose.yml

version: '2.4'
services:
  webtier:
    image: webtier:win
    platform: windows
    ports:
      - 80
    build:
      context: .\WebTier
      dockerfile: Dockerfile
    depends_on:
      - apitier
    environment:
      ApiHost: "apitier"

  apitier:
    image: apitier:linux
    platform: linux
    expose: 
      - 80
    build: …
Run Code Online (Sandbox Code Playgroud)

containers cross-platform docker docker-compose docker-desktop

6
推荐指数
1
解决办法
3174
查看次数