运行长命令时Docker在构建映像时挂起

时间:2020-05-20 17:02:55

标签: docker dockerfile docker-for-windows

我有一个简单的docker文件,该文件在Windows映像中安装了一个编译器(IAR EWARM)。

Dockerfile:

FROM mcr.microsoft.com/windows:1903

WORKDIR /docker_work

# Copy the IAR installation media and do the install
COPY ./Environment/EWARM_8302_18209_install_media /EWARM_8302_18209_install_media
COPY ./Environment/IAR_install_iss /IAR_install_iss
RUN C:\EWARM_8302_18209_install_media\ew\setup.exe /s \
    /f1"C:\IAR_install_iss\setup.iss"                 \
    /f2"C:\docker_work\iar_install.log"

COPY ./IAR ./IAR

我希望此安装大约需要10分钟才能在我的系统上完成。但是我注意到它似乎并没有完全完成。我可以离开系统再回来,看来该步骤仍在进行中。如果输入密钥,则输出表明该步骤已完成。

示例输出:

PS C:\work\my_project> docker build -t iar_env . ; docker run -it --rm iar_env powershell.exe
Sending build context to Docker daemon  1.246GB
Step 1/6 : FROM mcr.microsoft.com/windows:1903
 ---> ab37d72f0d0e
Step 2/6 : WORKDIR /docker_work
 ---> Using cache
 ---> b2bc1fcd7970
Step 3/6 : COPY ./Environment/EWARM_8302_18209_install_media /EWARM_8302_18209_install_media
 ---> 743e35532adf
Step 4/6 : COPY ./Environment/IAR_install_iss /IAR_install_iss
 ---> 230c9d3afa0c
Step 5/6 : RUN C:\EWARM_8302_18209_install_media\ew\setup.exe /s     /f1"C:\IAR_install_iss\setup.iss"                     /f2"C:\docker_work\iar_install.log"
 ---> Running in c0caf75330f0 <------- The hang occurs here. If I hit the enter key the build continues
Removing intermediate container c0caf75330f0
 ---> 061050e6b765
Step 6/6 : COPY ./IAR ./IAR
 ---> ef1d0e9d34dd
Successfully built ef1d0e9d34dd
Successfully tagged iar_env:latest
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

Try the new cross-platform PowerShell https://aka.ms/pscore6

PS C:\docker_work> ls


    Directory: C:\docker_work


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        5/20/2020  11:47 AM                IAR
-a----        5/20/2020  11:40 AM            186 iar_install.log


PS C:\docker_work> cat .\iar_install.log
[InstallShield Silent]
Version=v7.00
File=Log File
[ResponseResult]
ResultCode=0
[Application]
Name=IAR Embedded Workbench for Arm
Version=8.30.2
Company=IAR Systems
Lang=0409
PS C:\docker_work>

我正在运行Docker版本19.03.8,构建afacb8b。仅当实际上需要运行第五步并且无法使用缓存时,才会发生此问题。这可能不是日常问题,但是我担心如果出于某种原因需要重新构建映像,它将导致我的构建服务器挂起。为什么会发生这种挂起?

0 个答案:

没有答案