2017-08-29 110 views
2
Windows 10 version 1607 
Docker for Windows: Version 17.06.1-ce-win24 (13025) 

我试图建立一个asp.net.net容器使用the provided docs和它不工作。我正在使用this provided dockerfile。我将它复制到我的一个asp.net解决方案的根目录下。不能建立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的东西,它的工作)说,这:

自从 microsoft/aspnet以来,没有必要在Dockerfile中指定ENTRYPOINT基本映像已包含监视IIS万维网发布服务的状态的入口点应用程序 (W3SVC)。

+1

你的docker文件是错误的,因为它依赖于你没有的build文件夹中的'ServiceMonitor.exe'。自己从头开始制作完整的'DockerFile',不要依赖于样本等,它们越来越快过时 –

回答

0

请尝试使用此dockerfile代替。它将使用aspnet图像:

FROM microsoft/aspnet 
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop';"] 

EXPOSE 80 

RUN Remove-WebSite -Name 'Default Web Site' 
RUN New-Website -Name 'YourSiteName' -Port 80 -PhysicalPath 'C:\YourFolderName' -ApplicationPool '.NET v4.5' 

ADD "LocalFolderPath" /YourFolderName 
+0

微软/ aspnet究竟是什么? 4.6? 4.7?我需要4.6 – red888

+1

这是最新的,所以可能4.7。如果您愿意,可以使用标记4.6.2:FROM microsoft/aspnet:4.6.2 – Guillaume