gpt4 book ai didi

powershell - 在RUN参数下调试Docker容器构建失败

转载 作者:行者123 更新时间:2023-12-02 20:03:33 24 4
gpt4 key购买 nike

我正在尝试构建一个运行2个外部脚本的Docker容器,每当我的Docker守护程序解析包含'RUN'参数的行时,它们似乎都没有执行我要求的安装和设置。

RUN CMD powershell -Command net user anon Nona /add;
CMD powershell -Command wmic useraccount where "name='anon'"; \
CMD powershell -Command net localgroup User /add; \
CMD powershell -Command 'C:\Users\anon\getGNUPG_ALT.bat > output.log;' ; \
CMD powershell -Command 'C:\Users\anon\getTor.bat' ;

为了测试该容器,我正在构建镜像并将其在容器中运行( docker build -rm mycontainer)。每当我运行 %username%命令时,我都会得到containerAdministrator作为输出,并且批处理文件没有安装任何东西。

DockerFile中的语法是否存在问题,或者批处理文件可能是问题?

最佳答案

我认为您在这两个命令RUN和CMD之间感到困惑。

为了回答您的问题,您可以在一开始就推迟“RUN”操作,因为您无法在Dockerfile中封装两个命令。或用RUN命令替换所有CMD:

RUN powershell -Command net user anon Nona /add;
RUN powershell -Command wmic useraccount where "name='anon'"; \
RUN powershell -Command net localgroup User /add; \
RUN powershell -Command 'C:\Users\anon\getGNUPG_ALT.bat > output.log;' ; \
RUN powershell -Command 'C:\Users\anon\getTor.bat' ;

此外,似乎不遵守CMD命令语法,请参阅正式文档: https://docs.docker.com/engine/reference/builder/

您还可以查看这个存在的问题: What's the difference between RUN and CMD in a docker file and when should I use one or the other?

最后,如果您使用的是Google,那么您会找到比我们在此处的答案中更好地解释它的教程,这里是一个示例: https://4sysops.com/archives/create-a-docker-container-on-windows-with-a-dockerfile/

关于powershell - 在RUN参数下调试Docker容器构建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51764543/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com