【发布时间】:2017-08-29 14:29:53
【问题描述】:
Windows 10 version 1607
Docker for Windows: Version 17.06.1-ce-win24 (13025)
我正在尝试使用 the provided docs 构建一个 asp .net 4.6 容器,但它不起作用。
我正在使用this provided dockerfile。我将它复制到我的一个 asp .net 解决方案的根目录中。
我运行了这个命令:
$ docker build -t aspnet-site --build-arg site_root=/
这是输出
PS> docker build -t aspnet-site . --build-arg 'site_root=/'
Sending build context to Docker daemon 326.1MB
Step 1/6 : FROM microsoft/dotnet-framework:4.6.2
4.6.2: Pulling from microsoft/dotnet-framework
3889bb8d808b: Pull complete
9f5eeabe6154: Pull complete
Digest: sha256:c281f2c09c9446f1896806933013a350f19db8f5a009e633ebd9701c470de35b
Status: Downloaded newer image for microsoft/dotnet-framework:4.6.2
---> be84290c2315
Step 2/6 : SHELL powershell -Command $ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';
---> Running in 1fd036b1b56e
---> 413164f1a97c
Removing intermediate container 1fd036b1b56e
Step 3/6 : RUN Add-WindowsFeature Web-Server; Add-WindowsFeature NET-Framework-45-ASPNET; Add-WindowsFeature Web-Asp-Net45; Remove-Item -Recurse C:\inetpub\wwwroot\*
---> Running in 4b0e5751281b
Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
True No Success {Common HTTP Features, Default Documen...
True No Success {ASP.NET 4.6}
True No Success {Application Development, ASP.NET 4.6,...
---> 9afab6bfa836
Removing intermediate container 4b0e5751281b
Step 4/6 : ADD ServiceMonitor.exe /
ADD failed: GetFileAttributesEx \\?\C:\WINDOWS\TEMP\docker-builder455754487\ServiceMonitor.exe: The system cannot find the file specified.
所以它确实在文档中这么说(所以我尝试注释掉 servicemonitor 的东西并且它起作用了):
无需在 Dockerfile 中指定 ENTRYPOINT,因为 microsoft/aspnet 基础映像已经包含一个入口点应用程序 监视 IIS 万维网发布服务的状态 (W3SVC)。
【问题讨论】:
-
您的 docker 文件是错误的,因为它依赖于您没有的构建文件夹中
ServiceMonitor.exe'的存在。从一开始就自己制作整个DockerFile,不要依赖样本等,它们很快就会过时
标签: c# asp.net docker dockerfile docker-for-windows