Docker清理

容器清理

  • docker container prune : 僅刪除停止運(yùn)行的容器。
  • docker rm -f $(docker ps -aq) : 刪除所有容器(包括停止的、正在運(yùn)行的)。
  • docker container rm -f $(docker container ls -aq) : 同上。

鏡像清理

docker rmi <image id> :通過(guò)鏡像的id來(lái)刪除指定鏡像。

有一些鏡像是隱形的:

  • 子鏡像,就是被其他鏡像引用的中間鏡像,不能被刪除。
  • 懸掛狀態(tài)的鏡像,就是不會(huì)再被使用的鏡像,可以被刪除。

其他命令:

  • docker image ls -f dangling=true : 可以列出所有懸掛狀態(tài)的鏡像
    并使用命令 docker image rm $(docker image ls -f dangling=true -q)docker image prune進(jìn)行刪除。
  • docker image rm $(docker image ls -q) :刪除所有鏡像。但正在被容器使用的鏡像無(wú)法刪除。

數(shù)據(jù)卷清理

  • docker volume rm $(docker volume ls -q) :刪除不再使用的數(shù)據(jù)卷。
  • docker volume prune :同上。

緩存清理

Docker 18.09 引入了 BuildKit ,提升了構(gòu)建過(guò)程的性能、安全、存儲(chǔ)管理等能力。

docker builder prune :刪除 build cache。


一鍵清理

docker system df 命令,類(lèi)似于 Linux上的 df 命令,用于查看 Docker 的磁盤(pán)使用情況:

docker system df

TYPE列出了 Docker 使用磁盤(pán)的 4 種類(lèi)型:

  • Images :所有鏡像占用的空間,包括拉取下來(lái)的鏡像,和本地構(gòu)建的。
  • Containers :運(yùn)行的容器占用的空間,表示每個(gè)容器的讀寫(xiě)層的空間。
  • Local Volumes :容器掛載本地?cái)?shù)據(jù)卷的空間。
  • Build Cache :鏡像構(gòu)建過(guò)程中產(chǎn)生的緩存空間(只有在使用 BuildKit 時(shí)才有,Docker 18.09 以后可用)。

最后的 RECLAIMABLE 是可回收大小。

  • docker system prune : 可以用于清理磁盤(pán),刪除關(guān)閉的容器、無(wú)用的數(shù)據(jù)卷和網(wǎng)絡(luò),以及 dangling 鏡像(即無(wú) tag 的鏡像)。
  • docker system prune -a : 清理得更加徹底,可以將沒(méi)有容器使用 Docker鏡像都刪掉。
    注意,這兩個(gè)命令會(huì)把你暫時(shí)關(guān)閉的容器,以及暫時(shí)沒(méi)有用到的 Docker 鏡像都刪掉了。

定期清理沒(méi)用的數(shù)據(jù),是個(gè)好習(xí)慣!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容