【问题标题】:RUN powershell failing in docker build on windows 2019 server在 Windows 2019 服务器上的 docker build 中运行 powershell 失败
【发布时间】:2020-03-03 03:43:57
【问题描述】:

我在 Windows 2019 服务器上运行。

每当我从 docker build 上的 dockerfile 调用 powershell 时都会出错 错误是..

---> 在 6efa29aa8a4a 中运行 命令“powershell -Command DIR”返回非零代码:3221226505

Dockerfile..

# escape=` (backtick)
FROM mcr.microsoft.com/windows/servercore:ltsc2019
RUN DIR

RUN ["powershell", "-Command", "DIR"]

COPY ./ app/
WORKDIR app
CMD [ "someapp", "somearg" ]

我尝试通过

用 powershell 替换 cmd
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]

RUN DIR

结果是一样的。

谢谢

【问题讨论】:

    标签: windows powershell docker


    【解决方案1】:

    尝试运行一个更像是 dockerfile 的

    来自 mcr.microsoft.com/windows/servercore/iis

    运行 powershell -NoProfile -Command Remove-Item -Recurse C:\inetpub\wwwroot*

    WORKDIR /inetpub/wwwroot

    复制。 /inetpub/wwwroot

    也许你必须在 WORKDIR 之后移动你的 COPY 命令? 尝试不同的东西

    【讨论】:

    • 第 2/14 步:运行 powershell -NoProfile -Command Remove-Item -Recurse C:\inetpub\wwwroot* ---> 在 6fa7906080d4 中运行命令 'cmd /S /C powershell -NoProfile -命令 Remove-Item -Recurse C:\inetpub\wwwroot*' 返回非零代码:3221226505
    • 我感到困惑的是所有的powershell命令都失败了..目录命令(RUN DIR)有效,但在powershell调用时无效..
    【解决方案2】:

    检查以确保您的构建机器(和主机)上安装了更新 KB4532691。没有它的 ltsc2019 (20/2020) 的最新图像有问题。

    请参阅https://hub.docker.com/_/microsoft-windows-servercorehttps://support.microsoft.com/en-us/help/4542617/you-might-encounter-issues-when-using-windows-server-containers-with-t 了解更多信息

    【讨论】:

    • 对不起..我最初的帖子没有提到我在 Windows Server 2019 上看到了这种行为。这些似乎是 Windows 10 KB 数字。根据系统管理员的说法,服务器已完全修补。
    • 这适用于 Windows Server 2019。请参阅:support.microsoft.com/en-us/help/4542617/…
    • 我们的构建服务器和开发主机在 2/18 左右都获得了新映像时遇到了问题。在我找到这篇文章之前,我花了几天的时间追逐我的尾巴,更新了我们的服务器,一切都恢复了工作。我只是不想让其他人浪费时间寻找不存在的问题。
    • 谢谢.. 看起来我们不匹配.. C:\911web>ver Microsoft Windows [版本 10.0.17763.1075] PS C:\911web> docker pull mcr.microsoft.com/windows/servercore :10.0.17763.1075 来自守护进程的错误响应:mcr.microsoft.com/windows/servercore:10.0.17763.1075 的清单未找到:清单未知:清单未知hub.docker.com/_/microsoft-windows-servercore 未列出我们当前服务器版本的服务器..
    • 我认为使用 10.0.17763.1040 或 ltsc2019 标签应该没问题。您是否能够运行 docker run -it mcr.microsoft.com/windows/servercore:ltsc2019 powershell 进入正在运行的容器并执行 PowerShell 命令,或者容器甚至无法启动?
    猜你喜欢
    • 2021-10-27
    • 2022-01-22
    • 2021-08-07
    • 2020-09-14
    • 2019-01-04
    • 1970-01-01
    • 2020-02-05
    • 1970-01-01
    • 2021-07-18
    相关资源
    最近更新 更多