繁体   English   中英

我可以从 Linux 主机构建(不运行)Windows Docker 图像吗?

[英]Can I build (not run) a Windows Docker image from a Linux host?

我是 Docker 和容器技术的新手,如果这是一个天真的问题,我很抱歉。 是否可以从 Dockerfile 的 Linux 机器构建(而不是运行?)一个 Windows Docker 图像?

在大多数情况下,不,不是。

您将遇到的真正技术问题是,如果没有 Dockerfile 中的RUN步骤,几乎不可能构建映像。这些确实会在内部创建容器并运行它们,如果没有 Windows 主机,您将无法运行 Windows 容器。 (显然你可以在非 Linux 主机上运行 Linux 容器,其中要么涉及 WSL 之类的层,要么涉及 Linux 虚拟机。)

如果您可以在没有RUN任何东西的情况下构建图像,则可以通过 Dockerfile FROM --platform=windows/amd64选项来实现,但是同样,您实际可以做的事情会非常有限。

我可以想象在几个特定场景中需要这个。 您必须在容器外以独立于平台的方式进行所有设置。 例如,一个 Java 应用程序可以完全编译为可移植的.jar文件,然后COPY ed 到最终图像中,无需RUN任何东西。 我还可以想象一个设置在早期的 Dockerfile 阶段构建交叉编译器(这通常是一个非常复杂的练习),然后将交叉编译的二进制文件COPY到 Windows 图像中。 不过,通过 WSL 在 Windows 上运行 Linux 图像可能更容易。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM