最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker磁盤(pán)空間清理的方法實(shí)現(xiàn)

 更新時(shí)間:2023年09月21日 15:12:03   作者:margu_168  
在使用Docker的過(guò)程中,系統(tǒng)會(huì)逐漸積累一些無(wú)用的垃圾文件,占據(jù)寶貴的磁盤(pán)空間并影響系統(tǒng)性,本文主要介紹了Docker磁盤(pán)空間清理的方法實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下

Docker磁盤(pán)空間清理

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

[root@k8s-m1 ~]# docker system df 
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          14        12        3.072GB   744.8MB (24%)
Containers      28        13        621.1MB   621.1MB (99%)
Local Volumes   4         0         747.7MB   747.7MB (100%)
Build Cache     0         0         0B        0B

可以看到,Docker鏡像占用了3.07GB磁盤(pán),Docker容器占用了621.1MB磁盤(pán),Docker數(shù)據(jù)卷占用了 747.7MB磁盤(pán)。

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

執(zhí)行docker system prune -a命令之后,Docker占用的磁盤(pán)空間減少了很多:

[root@k8s-m1 ~]# docker system df 
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          8         8         750MB     3.552MB (0%)
Containers      13        13        11.62kB   0B (0%)
Local Volumes   4         0         747.7MB   747.7MB (100%)
Build Cache     0         0         0B        0B

手動(dòng)清理Docker鏡像/容器/數(shù)據(jù)卷

對(duì)于舊版的Docker(版本1.13之前),是沒(méi)有docker system命令的,因此需要進(jìn)行手動(dòng)清理。這里給出幾個(gè)常用的命令,

# 刪除所有關(guān)閉的容器
docker ps -a | grep Exit | cut -d ‘’ -f 1 | xargs docker rm

# 刪除所有dangling鏡像(即無(wú)tag的鏡像):
docker images | grep “” | awk “{print $3}”

# 刪除所有dangling數(shù)據(jù)卷(即無(wú)用的volume):
docker volume rm $(docker volume ls -qf dangling=true)

占用大空間的容器查找

有時(shí)候,當(dāng)使用了上面提到的方法清理磁盤(pán)之后,發(fā)現(xiàn)磁盤(pán)空間并沒(méi)有清理出來(lái)多少,需要進(jìn)行進(jìn)一步分析

在centos上,Docker的所有相關(guān)文件,包括鏡像、容器等都保存在/var/lib/docker/目錄中,但是一般都是容器會(huì)造成磁盤(pán)占用的空間特別大,這個(gè)時(shí)候就需要通過(guò)docker overlay2 目錄名查找對(duì)應(yīng)容器名:

1、觀(guān)察到是 /var/lib/docker/overlay2目錄占用空間大,進(jìn)入到 /var/lib/docker/overlay2 目錄下,查看誰(shuí)占用的較多

[root@k8s-m1 ~]# du -sh /var/lib/docker/*
16K     /var/lib/docker/builder
88K     /var/lib/docker/buildkit
95M     /var/lib/docker/containers
7.7M    /var/lib/docker/image
128K    /var/lib/docker/network
1.6G    /var/lib/docker/overlay2
100K    /var/lib/docker/volumes
[root@k8s-m1  ~]# cd /var/lib/docker/overlay2/
[root@k8s-m1 ~]# du -s /var/lib/docker/overlay2/* | sort -rn | more
191492  /var/lib/docker/overlay2/a3e0d664d7b493bae51c87f8bcb2e5dfecd7b1ef14b8f6e73ed0e5cd246df8a3
147888  /var/lib/docker/overlay2/a40859c088c98e9eee27b81a71bf340dc444a2c172c042b2f890f9afd41dae8c

如上所示,占用空間最大的目錄為/var/lib/docker/overlay2/a3e0d664d7b493bae51c87f8bcb2e5dfecd7b1ef14b8f6e73ed0e5cd246df8a3

2、再通過(guò)目錄名查找容器名

[root@k8s-m1 ~]# docker ps -q | xargs docker inspect --format '{{.State.Pid}}, {{.Id}}, {{.Name}}, {{.GraphDriver.Data.WorkDir}}' | grep a3e0d664d7b493bae51c87f8bcb2e5dfecd7b1ef14b8f6e73ed0e5cd246df8a3
16210, 5ea65cf847e0fbd65e7fe8a0d730b6d4e29f1a5facbf33b4b1bbada23d2b2e3b, /k8s_calico-node_calico-node-cgffm_kube-system_06eac25d-01f7-4b1b-ad3f-e9b15b761fb5_4, /var/lib/docker/overlay2/a3e0d664d7b493bae51c87f8bcb2e5dfecd7b1ef14b8f6e73ed0e5cd246df8a3/work

輸出依次為,進(jìn)程pid、容器ID、容器名、存儲(chǔ)work路徑,即可確定是哪個(gè)容器。此方法也常用于查找某個(gè)容器在宿主機(jī)上的工作目錄。

檢查是否對(duì)應(yīng):

[root@k8s-m1 ~]# docker ps -a|grep 5ea
5ea65cf847e0   ee86d6374c0e                                        "start_runit"            6 days ago    Up 6 days                         k8s_calico-node_calico-node-cgffm_kube-system_06eac25d-01f7-4b1b-ad3f-e9b15b761fb5_4

結(jié)論:存儲(chǔ)的數(shù)據(jù)目錄ID和容器的ID是不一樣的,要注意區(qū)分。

進(jìn)而可以到具體容器進(jìn)行排查是什么原因造成了磁盤(pán)空間占用過(guò)多。如果可以手動(dòng)清理(如日志)可以先手動(dòng)清理,清理不了允許重啟的話(huà)可以重啟(重建)容器試試。

如果是nginx的容器,并且是日志文件造成磁盤(pán)空間過(guò)大可以使用
使用truncate命令,可以將nginx容器的日志文件“清零”:
truncate -s 0 /var/lib/docker/containers/c84f63acd6b88a7a217c511bf1eba4f8c12c735a7c0436d18ac49cf566d4fd6b/*-json.log

當(dāng)然,這個(gè)命令只是臨時(shí)有作用,日志文件遲早又會(huì)漲回來(lái)。要從根本上解決問(wèn)題,就需要限制nginx容器的日志文件大小。這個(gè)可以通過(guò)配置日志的max-size來(lái)實(shí)現(xiàn)。

重啟Docker

還有時(shí)候,當(dāng)清理了鏡像、容器以及數(shù)據(jù)卷之后,發(fā)現(xiàn)磁盤(pán)空間并沒(méi)有減少,這個(gè)時(shí)間可以嘗試重啟docker服務(wù)。

到此這篇關(guān)于Docker磁盤(pán)空間清理的方法實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Docker磁盤(pán)空間清理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • docker使用volume和bind mount的區(qū)別及說(shuō)明

    docker使用volume和bind mount的區(qū)別及說(shuō)明

    文章介紹了Docker中Volume和BindMount兩種數(shù)據(jù)持久化機(jī)制的區(qū)別,Volume由Docker管理,支持?jǐn)?shù)據(jù)共享和加密,而B(niǎo)indMount將宿主機(jī)上的文件或目錄直接掛載到容器中,性能較好但依賴(lài)于宿主機(jī)的文件系統(tǒng)結(jié)構(gòu)
    2024-11-11
  • docker-compose中變量的使用方式

    docker-compose中變量的使用方式

    這篇文章主要介紹了docker-compose中變量的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 如何修改docker容器中MySQL的用戶(hù)密碼

    如何修改docker容器中MySQL的用戶(hù)密碼

    本文主要介紹了如何修改docker容器中MySQL的用戶(hù)密碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • docker安裝及運(yùn)行MySQL5.7容器完整腳本及說(shuō)明

    docker安裝及運(yùn)行MySQL5.7容器完整腳本及說(shuō)明

    這個(gè)腳本用于在Docker中安裝和運(yùn)行MySQL 5.7容器,它首先創(chuàng)建必要的目錄和配置文件,然后刪除并強(qiáng)制停止現(xiàn)有的MySQL容器,最后啟動(dòng)一個(gè)新的MySQL容器,配置包括設(shè)置環(huán)境變量、端口映射、數(shù)據(jù)和配置文件目錄掛載等
    2025-01-01
  • Docker容器compose容器集群的快速編排方式

    Docker容器compose容器集群的快速編排方式

    這篇文章主要介紹了Docker容器compose容器集群的快速編排方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • MongoDB docker集群配置小結(jié)

    MongoDB docker集群配置小結(jié)

    本文主要介紹了MongoDB docker集群配置小結(jié),主要包括如何配置MongoDB的三個(gè)節(jié)點(diǎn),以及如何使用Docker Compose快速搭建集群,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • 詳解docker中Dockerfile指令創(chuàng)建鏡像

    詳解docker中Dockerfile指令創(chuàng)建鏡像

    這篇文章主要介紹了詳解docker中Dockerfile指令創(chuàng)建鏡像,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • 10分鐘學(xué)會(huì)docker

    10分鐘學(xué)會(huì)docker

    Docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎,基于 Go 語(yǔ)言 并遵從Apache2.0協(xié)議開(kāi)源。Docker 可以讓開(kāi)發(fā)者打包他們的應(yīng)用以及依賴(lài)包到一個(gè)輕量級(jí)、可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,也可以實(shí)現(xiàn)虛擬化。
    2017-06-06
  • Alpine鏡像中如何安裝telnet

    Alpine鏡像中如何安裝telnet

    BusyBox是一個(gè)在嵌入式系統(tǒng)和資源受限環(huán)境中廣泛使用的工具集合,它為用戶(hù)提供了輕量級(jí)、功能強(qiáng)大和靈活的命令行工具集,這篇文章主要介紹了Alpine鏡像中安裝telnet,需要的朋友可以參考下
    2024-06-06
  • docker-compose部署etcd集群的實(shí)現(xiàn)步驟

    docker-compose部署etcd集群的實(shí)現(xiàn)步驟

    本文主要介紹了docker-compose部署etcd集群的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10

最新評(píng)論

灵宝市| 溆浦县| 沙洋县| 沂南县| 苗栗县| 四会市| 甘谷县| 葵青区| 连江县| 北辰区| 西青区| 壶关县| 河津市| 右玉县| 建湖县| 泗阳县| 鹤壁市| 丁青县| 安阳县| 新余市| 徐州市| 昌江| 延安市| 色达县| 西丰县| 马公市| 河池市| 株洲县| 新宁县| 寿阳县| 洛南县| 六安市| 宜君县| 温州市| 日土县| 灌云县| 宁化县| 信丰县| 庄浪县| 资溪县| 绵竹市|