docker该如何删除已停止的容器
作者:fen_fen
Docker是一个非常有趣的项目,容器是独立运行的一个或一组应用,及他们的运行环境,容器是Docker中的一个重要的概念,这篇文章主要给大家介绍了关于docker该如何删除已停止的容器的相关资料,需要的朋友可以参考下
一、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”)
附:停止正在运行中的docker进程
执行以下命令
docker ps
结果如下
ONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ffc1792471da registry.cn-shanghai.aliyuncs.com/tcc-public/super-mario-ppo:r1 "/bin/bash" 5 seconds ago Up 4 seconds modest_wright
执行以下命令停止进程
docker kill ffc1792471da
查看结果
docker ps
结果如下
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
总结
到此这篇关于docker该如何删除已停止的容器的文章就介绍到这了,更多相关docker删除已停止容器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!