簡體   English   中英

如何清理碼頭工人?

[英]How to cleanup docker?

我們使用docker進行連續構建。 我刪除了不需要的圖像和容器。 只有4張最大5GB的圖像。 但看起來像是其他東西占用了所有的磁盤空間。 如何清理和改善空間的任何提示?

    Filesystem      Size  Used Avail Use% Mounted on
udev             48G     0   48G   0% /dev
tmpfs           9.5G   26M  9.5G   1% /run
/dev/sda1       456G  428G  5.2G  99% /
tmpfs            48G  7.4M   48G   1% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            48G     0   48G   0% /sys/fs/cgroup
tmpfs           100K     0  100K   0% /run/lxcfs/controllers
tmpfs           9.5G     0  9.5G   0% /run/user/1000
none            456G  428G  5.2G  99% /var/lib/docker/aufs/mnt/4b96935f7fb6b517031df23849292a06eab92013d0610d922588688132013a5e
shm              64M     0   64M   0% /var/lib/docker/containers/c3b48e0215e05e13f79466de64cb0a2b4646cef30e020e651c59cb1950f0d70d/shm
none            456G  428G  5.2G  99% /var/lib/docker/aufs/mnt/4388442c65c13654a7d1cd51894aa5c06137166628a0a52d6854abc230417140
shm              64M     0   64M   0% /var/lib/docker/containers/027ce91cd66eca1ed134decdb8c13e6676fd34b1f6affe406513220037e63936/shm
none            456G  428G  5.2G  99% /var/lib/docker/aufs/mnt/13595cb64024d0d8f3cf7c09f90e37baccee08ea9b9b624c41d971a195d614e0
shm              64M     0   64M   0% /var/lib/docker/containers/3212761e701699313a127d50a423677c1d0ddaf9099ae37e23b25b8caaa72b37/shm
none            456G  428G  5.2G  99% /var/lib/docker/aufs/mnt/149839edbef826cdf289e66988c206dd6afebdb4257cc22e91551f65ea034f77
shm              64M     0   64M   0% /var/lib/docker/containers/9c084651b9ecf035257a34b9dd4415689e4c685e660e3013ad9673955834be

在Docker版本1.13之后,有新的prune命令來清理docker環境。

使用docker system df獲取有關容器,圖像及其磁盤使用情況的統計信息,並提供可回收空間。

使用docker system prune來擺脫已停止的容器,懸空卷和懸空圖像。

要僅刪除已停止的容器,可以使用docker container prunedocker image prune刪除所有懸空圖像。

常見的錯誤是忘記刪除卷。

對於CI和CD,在刪除容器時使用docker rm -v是一個好習慣,使用-v可以確保刪除自動創建的卷。

可以肯定的是,如果此處有一些值,則鍵入docker volume ls ,這意味着您的某些容器創建了一些卷。

您可以使用docker volume rm $(docker volume ls -q)一次性刪除它們(它不會刪除任何當前使用的卷,而是會顯示錯誤消息,但請謹慎使用)

您可以使用以下命令清理docker工件(具體取決於您需要清理的內容):

docker container prune
docker image prune
docker network prune
docker volume prune

這些命令支持'-a'選項,如果指定將刪除所有工件(例如docker container prune -a將刪除所有容器)

如果您需要清理您可能想要使用的所有內容:

docker system prune -a

這就像上面提到的所有命令相結合。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM