gpt4 book ai didi

.net - 如何创建 Dockerfile 以在 Windows 2016 容器中运行 Docker?

转载 作者:行者123 更新时间:2023-12-02 20:05:00 24 4
gpt4 key购买 nike

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

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

这是 dockerfile 的示例:

FROM microsoft/windowsservercore
MAINTAINER <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d4bebbb1faa1a7b1a694babba3bcb1a6b1fab7bbb9" rel="noreferrer noopener nofollow">[email protected]</a>

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服务?任何有关如何进行的建议或示例都将受到赞赏。

预先感谢您的帮助。

最佳答案

你所指的是Docker-in-Docker。目前 Windows 不支持它(对于 Linux 通常不是一个好主意)

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

关于.net - 如何创建 Dockerfile 以在 Windows 2016 容器中运行 Docker?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50416263/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com