如何按图片名称删除所有容器,如果已删除,则不执行任何操作

时间:2017-04-19 15:08:20

标签: bash docker

我有bash脚本,它按图像名称停止并删除所有docker容器。 我可以通过单个命令

按图像名称停止并删除所有docker容器
docker rm  $(docker stop $( docker ps -a -q --filter ancestor=image_name))

但是如果容器不存在,则表达式docker ps -a -q --filter ancestor=image_name不返回任何内容,docker stop命令失败。如何按图像名称删除所有容器,如果已删除它,则不执行任何操作?

1 个答案:

答案 0 :(得分:2)

试试这个......

for i in $(docker ps -a -q --filter ancestor=image_name); do docker rm $(docker stop $i); done

如果docker rm返回结果,则只应调用docker ps。在我的环境中工作。