一、docker删除已停止的容器
1、根据容器的状态,删除Exited状态的容器
先停止容器、再删除镜像中的容器、最后删除none的镜像。执行命令如下:
docker stop $(docker ps -a | grep “Exited” | awk ‘{print $1 }’) #停止容器
docker rm $(docker ps -a | grep “Exited” | awk ‘{print $1 }’) #删除容器
docker rmi $(docker images -a| grep “none” | awk ‘{print $3}’) #删除镜像
2、删除所有未运行的容器(删除所有停止的容器)
(已经运行的删除不了,未运行的就一起被删除了)
docker rm $(docker ps -a -q)
其他:
查询状态为:Exited的容器并删除
docker ps -a | grep “Exited” | awk ‘{print $1 }’ //查找
docker rm $(docker ps -a | grep “Exited” | awk ‘{print $1 }’) //查找并删除
二、删除none的镜像
# 删除none镜像
docker rmi $(docker images | grep “none” | awk ‘{print $3}’)# 直接删除带none的镜像,报错了。提示先停止容器。
docker stop $(docker ps -a | grep “Exited” | awk ‘{print $1 }’) //停止容器
docker rm $(docker ps -a | grep “Exited” | awk ‘{print $1 }’) //删除容器
docker rmi $(docker images | grep “none” | awk ‘{print $3}’) //删除镜像
备注:
docker中 启动所有的容器命令
docker start $(docker ps -a | awk ‘{ print $1}’ | tail -n +2)docker中 关闭所有的容器命令
docker stop $(docker ps -a | awk ‘{ print $1}’ | tail -n +2)docker中 删除所有的容器命令
docker rm $(docker ps -a | awk ‘{ print $1}’ | tail -n +2)docker中 删除所有的镜像
docker rmi $(docker images | awk ‘{print $3}’ |tail -n +2)docker start $(docker ps -aq) # 启动所有容器
docker start $(docker ps -aq -f status=exited) # 启动所有状态为exited 的容器,和上面的命令效果一致
dockerrm$(docker ps-q –filter “status=exited”)