首页 > 解决方案 > 在 Windows Server 2016 上构建 Docker 映像

问题描述

我们期待在 Windows Server 2016 Jenkins slave(虽然并不理想)上使用基础 openjdk 镜像为我们的微服务构建 docker 镜像。

我们确实在 Windows Server 2016 上安装了 Docker EE,并且正如预期的那样得到以下错误:

PS C:\> docker pull openjdk:8
8: Pulling from library/openjdk
no matching manifest for windows/amd64 in the manifest list entries

与 Windows 10 不同,我无法将守护进程设置为切换到 linux 容器。

Windows 构建:

操作系统名称:Microsoft Windows Server 2016 标准操作系统版本:10.0.14393 N/A Build 14393

标签: dockerwindows-server-2016docker-for-windows

解决方案


该错误是因为 openjdk:8 不是 Windows 容器。要检查这一点,您可以尝试拉“microsoft/nanoserver”,这会正常工作,因为它是一个 Windows 容器

您可以查看这些链接以在 Windows 2016 服务器中运行 linux 容器:

https://blog.docker.com/2017/09/preview-linux-containers-on-windows/

https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/linux-containers

这是一个实验性功能,因此不推荐用于生产

另一种选择是使用 docker for windows:

https://store.docker.com/editions/community/docker-ce-desktop-windows并在安装配置窗口中未选中使用 Windows 容器


推荐阅读