Docker 在跨平台环境中编写

Docker compose on cross-platform environment

假设我有一个 cross 平台环境,

我的应用部署了两次 - 一次在 windows 容器上,一次在 Linux 容器上,

此外,我还有一个数据库容器(Linux)。

我可以使用 docker compose 构建 those 3 服务吗?

我认为不是 - 因为我使用的图像是为特定 os 类型构建的。

我说的对吗?也许我错了,有解决方法吗?

使用 2.4 版的 Compose 文件支持 platform 选项,允许指定服务平台。

platform: osx
platform: windows/amd64
platform: linux/arm64/v8

https://github.com/docker/docker.github.io/blob/master/compose/compose-file/compose-file-v2.md#platform

请注意,v3 撰写文件不支持 platform 选项。

更深入的解释可以在这里找到:https://devblogs.microsoft.com/premier-developer/mixing-windows-and-linux-containers-with-docker-compose/