如何在遇到第一个错误时取消 dockerfile 映像构建?

2024-02-21

如果我的 dockerfile 中的 RUN 命令出现错误,它只会继续执行下一个命令。


您确定该命令确实返回错误吗?以下 Dockerfile 无法访问echo foo:

FROM alpine
RUN false
RUN echo foo

它只是得到:

# docker build .
Sending build context to Docker daemon 3.072 kB
Step 0 : FROM alpine
 ---> 0a3b5ba3277d
Step 1 : RUN false
 ---> Running in 22485c5e763c
The command '/bin/sh -c false' returned a non-zero code: 1

要检查您的命令是否真的失败,您可以尝试如下操作:

FROM alpine
RUN false || echo failed
RUN echo foo

然后我就得到了:

# docker build .
Sending build context to Docker daemon 3.072 kB
Step 0 : FROM alpine
 ---> 0a3b5ba3277d
Step 1 : RUN false || echo failed
 ---> Running in 674f09ae7530
failed
 ---> 232fd66c5729
Removing intermediate container 674f09ae7530
Step 2 : RUN echo foo
 ---> Running in c7b541fdb15c
foo
 ---> dd1bece67e71
Removing intermediate container c7b541fdb15c
Successfully built dd1bece67e71
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在遇到第一个错误时取消 dockerfile 映像构建? 的相关文章

随机推荐