如何使用强制忽略删除Docker容器,这意味着如果没有正在运行的Docker容器,它应该什么都不做,如果有一个正在运行的Docker容器,其名称为,那么它应该停止并删除该容器。
我将执行以下代码来停止并删除容器。
docker rm -f CONTAINER_NAME || true
如果有正在运行的容器,则一切正常,但是,如果没有容器,则会引发以下错误:
Error: No such container: CONTAINER_NAME
是否存在类似 --force ignore
的内容?我需要此行为以便将其包含在自动化Makefile中。
5条答案
按热度按时间kqlmhetl1#
尝试此退出代码将为1:
退出代码为0:
yr9zkbsy2#
Makefile具有内置支持,通过在命令前添加破折号来忽略特定命令的错误。
您仍然会看到错误消息,但makefile将忽略该错误并继续执行。
输出量:
参考:GNU制作手册
zvms9eto3#
您可以添加OR true值,如下所示:
停靠站rm -f容器_1|| false
(停靠站rm -f容器_1|| false)&&(停靠站rm -f集装箱_2||正确)
hc8w905p4#
我更喜欢
基于this answer的解决方案:如果容器不存在,
docker container inspect
将返回代码设置为1,否则设置为0,因此docker rm
也将被执行。unftdfkk5#
作为一种替代方法,您可以使用
docker run --rm
来运行容器。容器一旦停止就会自动删除。