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刪除已停止容器內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: