[英]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.