我有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
命令失败。如何按图像名称删除所有容器,如果已删除它,则不执行任何操作?
答案 0 :(得分:2)
试试这个......
for i in $(docker ps -a -q --filter ancestor=image_name); do docker rm $(docker stop $i); done
如果docker rm
返回结果,则只应调用docker ps
。在我的环境中工作。