如何在基于 Windows Server Core 的容器中安装 Docker Desktop
How to install Docker Desktop inside a Windows Server Core based container
还没有看到任何文章说明如何在 Docker 中为 Windows(本机,而非 WSL)设置 Docker。尝试构建基于 Windows Server Core 的映像,但来自 Windows Server Core 容器。这可能吗?
Docker 桌面应仅在 Windows 10/11 上使用。对于 Windows 容器所基于的服务器环境,您应该安装 Docker/Mirantis 引擎。但是,我不完全确定这是否可行,即使可行(可以尝试),也不应支持。
所以,我花了一些时间来测试它,结果证明它确实有效:
Windows container running inside a Windows container
这里的问题是容器上的 docker 引擎需要映射到底层容器的 docker 引擎。
这是我使用的 docker 文件:
# escape=`
FROM mcr.microsoft.com/windows/servercore:ltsc2022
RUN powershell -Command `
$ErrorActionPreference = 'Stop'; `
$ProgressPreference = 'SilentlyContinue'; `
Invoke-WebRequest `
-Uri https://download.docker.com/win/static/stable/x86_64/docker-20.10.15.zip `
-OutFile docker.zip; `
Expand-Archive docker.zip -DestinationPath 'C:\Program Files'; `
Remove-Item docker.zip -Force `
&& setx /M PATH "%PATH%;C:\Program Files\docker"
这是我的命令 运行:
docker run -i -v \.\pipe\docker_engine:\.\pipe\docker_engine inception:v1 powershell
这将以交互方式打开一个容器。从那里,运行:
docker run --rm mcr.microsoft.com/windows/servercore:ltsc2022 cmd /c hostname
还没有看到任何文章说明如何在 Docker 中为 Windows(本机,而非 WSL)设置 Docker。尝试构建基于 Windows Server Core 的映像,但来自 Windows Server Core 容器。这可能吗?
Docker 桌面应仅在 Windows 10/11 上使用。对于 Windows 容器所基于的服务器环境,您应该安装 Docker/Mirantis 引擎。但是,我不完全确定这是否可行,即使可行(可以尝试),也不应支持。
所以,我花了一些时间来测试它,结果证明它确实有效: Windows container running inside a Windows container
这里的问题是容器上的 docker 引擎需要映射到底层容器的 docker 引擎。 这是我使用的 docker 文件:
# escape=`
FROM mcr.microsoft.com/windows/servercore:ltsc2022
RUN powershell -Command `
$ErrorActionPreference = 'Stop'; `
$ProgressPreference = 'SilentlyContinue'; `
Invoke-WebRequest `
-Uri https://download.docker.com/win/static/stable/x86_64/docker-20.10.15.zip `
-OutFile docker.zip; `
Expand-Archive docker.zip -DestinationPath 'C:\Program Files'; `
Remove-Item docker.zip -Force `
&& setx /M PATH "%PATH%;C:\Program Files\docker"
这是我的命令 运行:
docker run -i -v \.\pipe\docker_engine:\.\pipe\docker_engine inception:v1 powershell
这将以交互方式打开一个容器。从那里,运行:
docker run --rm mcr.microsoft.com/windows/servercore:ltsc2022 cmd /c hostname