【问题标题】:How to Create a Dockerfile to Run Docker in a Windows 2016 Container?如何创建 Dockerfile 以在 Windows 2016 容器中运行 Docker?
【发布时间】:2018-05-18 17:10:57
【问题描述】:

背景:请求是使用 Windows 2016 docker 容器来构建和部署 .net 应用程序。容器需要安装各种构建工具(MSbuild...等),并且需要将 docker 作为 .net 应用程序作为容器推送到 Azure Container Registry。

方法:我的方法是使用各种构建工具和安装的 docker 服务创建一个 dockerfile - 设置为在我运行容器时自动启动。

这里是一个 dockerfile 的例子:

FROM microsoft/windowsservercore
MAINTAINER joe.user@nowhere.com

CMD powershell Start-Service Docker

SHELL ["powershell"]
RUN Invoke-WebRequest 
"https://download.microsoft.com/download/9/B/B/9BB1309E-1A8F-4A47-A6C5-ECF76672A3B3/BuildTools_Full.exe" -OutFile "$env:TEMP\net.exe" -UseBasicParsing
RUN &  "$env:TEMP\net.exe" /Silent /Full

# Note: Add NuGet
RUN Install-PackageProvider -Name NuGet -RequiredVersion 2.8.5.201 -Force

RUN Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
RUN Install-Package -Name docker -ProviderName DockerMsftProvider -Force
RUN Set-Service -Name Docker -StartupType Automatic
#RUN Get-Service Docker
#RUN Restart-Computer -Force

问题:需要重新启动才能运行 docker 服务我无法启动构建 docker 文件的服务。

参考资料:我使用以下 URL 作为参考,说明应该在 dockerfile 中运行哪些命令。

问题:如何使用 dockerfile 启动 docker 服务?从我的测试来看,这似乎是不可能的。有没有人在 Windows 2016 服务器中成功启动了 docker 服务?任何有关如何进行的建议或示例都将不胜感激。

提前感谢您的帮助。

【问题讨论】:

    标签: .net windows azure docker dockerfile


    【解决方案1】:

    您所指的是 Docker-in-Docker。 Windows 目前不支持它(对于 Linux 来说通常是个坏主意)

    https://github.com/docker-library/docker/issues/49(我在 MS 端找不到任何东西,但我猜码头工人知道他们在说什么)

    【讨论】:

    • 感谢您的反馈,但这不是我想听到的!哈! +1
    猜你喜欢
    • 1970-01-01
    • 2021-02-28
    • 1970-01-01
    • 1970-01-01
    • 2021-08-19
    • 1970-01-01
    • 1970-01-01
    • 2017-05-24
    • 1970-01-01
    相关资源
    最近更新 更多