Windows docker映像构建被卡住了
我需要在vm上安装docker desktop的windows 10上为windows应用程序生成windows docker映像,但在运行此应用程序的安装时,生成过程受阻。原木看起来像是在吼叫Windows docker映像构建被卡住了,windows,docker,containers,Windows,Docker,Containers,我需要在vm上安装docker desktop的windows 10上为windows应用程序生成windows docker映像,但在运行此应用程序的安装时,生成过程受阻。原木看起来像是在吼叫 PS C:\docker> docker image build . -t app Sending build context to Docker daemon 144.1MB Step 1/6 : FROM mcr.microsoft.com/dotnet/framework/aspnet:4
PS C:\docker> docker image build . -t app
Sending build context to Docker daemon 144.1MB
Step 1/6 : FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8
---> 9b87edf03093
Step 2/6 : COPY . /app
---> ac4b1124d856
Step 3/6 : WORKDIR /app
---> Running in cf4bd2345d26
Removing intermediate container cf4bd2345d26
---> d4f28097afd9
Step 4/6 : RUN .\ELSA1.0_2.6.6.243.exe
---> Running in b9356f975aa6
(And the process is stuck for several hours here and is terminated by me)
docker文件是
FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8 # this is a base image because asp.net 3.5 is a prerequisite for the app
COPY . /app
WORKDIR /app
RUN .\ELSA1.0_2.6.6.243.exe # I am stuck here!
我试着在基本图像中做一些类似的事情,但似乎我什么都做不了
PS C:\docker> docker container run -it
mcr.microsoft.com/dotnet/framework/aspnet:4.8
Service 'w3svc' has been stopped
Service 'w3svc' started
有什么好办法来调试这个问题吗?顺便说一下,安装程序可以在windows 10上正常工作。您不应该执行
RUN
语句中未终止的命令。我在Docker构建日志中看到,您在RUN
命令中启动了exe
文件。这将使docker构建过程停滞,并等待SIGINT
。如果您执行运行npm start
,同样的情况也会发生,因此它将挂起构建过程
在entrypoint或CMD处添加可执行文件
在这种情况下,另一个问题可能是
在Windows中使用CMD的注意事项
在Windows上,CMD指令中指定的文件路径必须使用
正斜杠或已跳过反斜杠\。以下是
有效指令:
dockerfile
# exec form
CMD ["c:\\Apache24\\bin\\httpd.exe", "-w"]
# shell form
CMD c:\\Apache24\\bin\\httpd.exe -w
您可以进一步了解windowcmd
但是,如果没有正确的斜杠,以下格式将不起作用:
dockerfile
CMD c:\Apache24\bin\httpd.exe -w
决不能执行未终止的
RUN
语句中的命令。我在Docker构建日志中看到,您在RUN
命令中启动了exe
文件。这将使docker构建过程停滞,并等待SIGINT
。如果您执行运行npm start
,同样的情况也会发生,因此它将挂起构建过程
在entrypoint或CMD处添加可执行文件
在这种情况下,另一个问题可能是
在Windows中使用CMD的注意事项
在Windows上,CMD指令中指定的文件路径必须使用
正斜杠或已跳过反斜杠\。以下是
有效指令:
dockerfile
# exec form
CMD ["c:\\Apache24\\bin\\httpd.exe", "-w"]
# shell form
CMD c:\\Apache24\\bin\\httpd.exe -w
您可以进一步了解windowcmd
但是,如果没有正确的斜杠,以下格式将不起作用:
dockerfile
CMD c:\Apache24\bin\httpd.exe -w
将步骤设置为
CMD ELSA1.0_2.6.6.243.exe
它不会卡住。谢谢。但图像无法运行。错误为PS C:\docker>docker运行此映像服务“w3svc”已停止APPCMD失败,错误代码13未能更新IIS配置这是您的应用程序中的问题您是否使用了任何类似Symantec Endpoint protection的AV?我在Windows Server 2016上遇到了一些问题。检查:将步骤设置为CMD ELSA1.0_2.6.6.243.exe
它没有卡住。谢谢。但图像无法运行。错误为PS C:\docker>docker运行此映像服务“w3svc”已停止APPCMD失败,错误代码13未能更新IIS配置这是您的应用程序中的问题您是否使用了任何类似Symantec Endpoint protection的AV?我在Windows Server 2016上遇到了一些问题。看看这个: