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)

6835ca2a7ed9f9594f1d2575bf89a2d6_2023051615425723.png

9fbc46342b137cb84f70b9a1e9d90dd1_2023051615425724.png

 其他:

查询状态为: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



评论 0

暂无评论
0
0
0
立即
投稿
发表
评论
返回
顶部