如何在基于 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