gpt4 book ai didi

docker - Docker构建不会因失败的运行命令而停止

转载 作者:行者123 更新时间:2023-12-02 21:09:14 25 4
gpt4 key购买 nike

我在Dockerfile中有这个

RUN eval `ssh-agent -s` && ssh-add /root/.ssh/id_rsa

我看到:

The command '/bin/sh -c eval ssh-agent -s && ssh-add /root/.ssh/id_rsa' returned a non-zero code: 1



但是docker构建将继续进行直到到达ENTRYPOINT然后退出。如果其中一个RUN命令以非零值退出,如何使Docker构建过程停止?

最佳答案

Docker不会将运行命令的不同部分作为逻辑AND连接。它更像是OR
做这个:

RUN eval `ssh-agent -s` 
RUN ssh-add /root/.ssh/id_rsa

TL; DR:
一个简短的例子为什么:

这可以一直工作到最后:
FROM alpine
RUN exit 0
RUN echo Hello

这由第一个 RUN停止:
FROM alpine
RUN exit 1
RUN echo Hello

一直运行到最后(例如您的示例):
FROM alpine
RUN exit 0 && exit 1
RUN echo Hello

关于docker - Docker构建不会因失败的运行命令而停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55940444/

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