【发布时间】: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 中运行哪些命令。
- https://docs.microsoft.com/en-us/virtualization/windowscontainers/quick-start/quick-start-windows-server
- https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-docker/configure-docker-daemon
- https://docs.docker.com/install/windows/docker-ee/#docker-universal-control-plane-and-windows
问题:如何使用 dockerfile 启动 docker 服务?从我的测试来看,这似乎是不可能的。有没有人在 Windows 2016 服务器中成功启动了 docker 服务?任何有关如何进行的建议或示例都将不胜感激。
提前感谢您的帮助。
【问题讨论】:
标签: .net windows azure docker dockerfile