1,删除容器
首先需要停止所有的容器(只停止单个时把后面的变量改为image id即可)
docker stop $(docker ps -a -q)
删除所有的容器(只删除单个时把后面的变量改为image id即可)
docker rm $(docker ps -a -q)
2,删除镜像
查看host中的镜像
docker images
删除指定id的镜像
docker rmi
想要删除untagged images,也就是那些id为的image的话可以用
docker rmi $(docker images | grep “^” | awk “{print $3}”)
删除全部的images
docker rmi $(docker images -q)
一、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”)