欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

k8s 與docker空間使用分析與清理方法

 更新時間:2022年12月29日 16:25:32   作者:lv2  
使用Docker 運行業(yè)務一段時間后,可能會出現(xiàn)宿主節(jié)點的磁盤容量占用高,導致宿主機磁盤空間不足等異常,對業(yè)務造成影響,本文對 Docker 的空間占用進行匯總分析,需要的朋友可以參考下

1. 前言

使用 Docker 運行業(yè)務一段時間后,可能會出現(xiàn)宿主節(jié)點的磁盤容量占用高,導致宿主機磁盤空間不足等異常,對業(yè)務造成影響。本文對 Docker 的空間占用進行匯總分析,以及對應的清理操作進行說明,希望能幫到大家~

2. 常見問題場景

一般來說,docker包括鏡像(image)、容器(container)和數(shù)據(jù)卷(volumn)三部分,日常遇到的docker空間占用問題,基本也是從這三方面入手。典型的場景有:

  • json.log文件過大
  • 鏡像較多占用空間大
  • local volumn占用空間大
    基本上來說,docker 空間占用大,都是圍繞上面幾方面來開展分析的。下面說說空間分析及處理應對措施

3. docker 磁盤空間使用分析及處理

  • 排查命令: docker system df
  • 命令可以查詢鏡像(Images)、容器(Containers)和本地卷(Local Volumes)等空間占用情況,如下效果
docker system df 
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          17        15        6.016GB   1.001GB (16%)
Containers      29        26        4.444MB   0B (0%)
Local Volumes   7         4         465.5MB   232.7MB (50%)
Build Cache     0         0         0B        0B

3.1 image鏡像占用分析及解決

通過 docker system df命令,查看Images鏡像占用的空間大小,可以看到總的鏡像數(shù)以及在用的鏡像數(shù)??梢酝ㄟ^以下命令進行清理,從而達到釋放空間占用的作用

# 通過命令清除無用的鏡像,停止的容器和Volumes
docker system prune -a 
# 也可以通過命令手動刪除指定鏡像
docker rmi 鏡像ID

3.2 json.log占用分析及解決

容器鏡像數(shù)較多導致的空間占用是最常見也最容易處理的場景,除通過docker system prune清理外,也可通過docker rmi的命令進行清理。除此之外 ,還有常見的空間占用場景,如json.log文件過大。當容器運行一段時間后,容器的控制臺日志輸出過大的時候,會導致一個以容器ID-json命名的Log文件,持續(xù)增大,一般是在/var/lib/docker/containers/目錄下,可以通過如下命令查看json.log占用

ls -lh $(find /var/lib/docker/containers/ -name *-json.log)
-rw-r----- 1 root root    0 Dec 27 14:22 /var/lib/docker/containers/021451de5bbaf2ac68839d4b9f3a4605be673d4286b3963ee2bddb1a3d01b6d2/021451de5bbaf2ac68839d4b9f3a4605be673d4286b3963ee2bddb1a3d01b6d2-json.log
-rw-r----- 1 root root  81K Dec 27 16:27 /var/lib/docker/containers/0413a938fff4603b9d898b680ba16b11b02a7cac25ddfaea318c15f1398668fd/0413a938fff4603b9d898b680ba16b11b02a7cac25ddfaea318c15f1398668fd-json.log
-rw-r----- 1 root root  113 Dec 21 21:44 /var/lib/docker/containers/1e6fb2c4f4bc9afeff1406c2c7f4a48e162c3b8075aef6e67871c942232b2fbe/1e6fb2c4f4bc9afeff1406c2c7f4a48e162c3b8075aef6e67871c942232b2fbe-json.log
-rw-r----- 1 root root  26K Dec 27 14:21 /var/lib/docker/containers/283e6cfc3f9e52ffb5dfd26386d910010a6f14e2304d28c244c9010b3396f2aa/283e6cfc3f9e52ffb5dfd26386d910010a6f14e2304d28c244c9010b3396f2aa-json.log
-rw-r----- 1 root root 7.6K Dec 27 16:27 /var/lib/docker/containers/338ee505e76965f6636c229f437fe30018acd24c94e3aab9eec2fd3dffe67d29/338ee505e76965f6636c229f437fe30018acd24c94e3aab9eec2fd3dffe67d29-json.log

解決方案有3種

簡單處理:

echo '' > /var/lib/docker/containers/容器id-json.log

 運行服務時指定json log大小及數(shù)量

# 參數(shù):--log-opt max-size=200m --log-opt max-file=3 
docker run -it --log-opt max-size=200m --log-opt max-file=3 nginx

 全局配置

vim  /etc/docker/daemon.json
{
    "log-driver":"json-file",
    "log-opts":{
        "max-size" :"200m","max-file":"3"
    }
}
 
systemctl daemon-reload
systemctl restart docker

3.3 Local Volumnes占用分析及解決

Local Volumnes占用空間大,相對來說比較少遇到的一種場景,像鏡像和json.log占用的情況,比較常見。

docker system df 
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          42        20        10.81GB   4.265GB (39%)
Containers      64        39        1.358GB   200.3MB (14%)
Local Volumes   7         4         64.9GB   232.7MB (0.3%)
Build Cache     0         0         0B        0B

從命令可以看出,Local Volumnes占用超過60GB,可釋放空間只有232MB,因此通過命令:docker system prune清理也只能釋放232MB的空間占用。
解決方案
思路:
查看Local Volumes占用明細->查找關聯(lián)的容器ID->清理對應容器->完成空間占用清理

# 通過參數(shù)-v查看詳細的空間占用
docker system df -v
*** ***
Local Volumes space usage:
 
VOLUME NAME                                                        LINKS     SIZE
13cb48964bd5f5b2154687cd2ec9d948c03183c778a131021d7a078251e327fc   1         77.58MB
0c6f791c44f9e18c414df127effeb03bcd4e3d3f00a1da9520b1f79308d5d4b4   0         77.58MB
7995d23375e56221438cca64ddd9f0a799c6492cf28ea4cf8689fa3f6ca6d0b2   2         77.58MB
c742d23648db19b93a731d6861864f7fc90ec22bfd3aeaa73c811fe587126777   1         77.58MB
b60f3956f0d502f163e47806b2bfe6d8e1ad3fe555d1a01c86541708ec5277ff   1         0B
fc52cd72fa393c8cbe92b90de2d5e555d5a7cee725871ff729a1941fadfe942d   1         62.22GB
86cff21c7b3690e94548a94e5e87428761d3887f0a62abbd85ddf1b15684dbd8   0         77.58MB
0ebc98b7d24962a968acb73ae65abd9b1e846098ba4f7d68f09c8d163cedd12e   0         77.58MB
 
Build cache usage: 0B
 
CACHE ID   CACHE TYPE   SIZE      CREATED   LAST USED   USAGE     SHARED

可以看出磁盤占用主要是:fc52cd72fa393c8cbe92b90de2d5e555d5a7cee725871ff729a1941fadfe942d,因此,要查看此卷相關聯(lián)的容器ID

# 編寫py腳本
import os
volumn = "fc52cd72fa393c8cbe92b90de2d5e555d5a7cee725871ff729a1941fadfe942d"
names = [line.split(" ")[-1] for line in os.popen("docker ps -a").read().split("\n") if line ]
print([name for name in names[1:] if volumn in os.popen("docker inspect %s"%name).read()])
 
# 執(zhí)行腳本
python volumn.py
# 返回結(jié)果如下
['collection-687df56967-z5t6f']
找到相關聯(lián)的容器后,判斷容器運行著什么,內(nèi)容是否可清理

4. 總結(jié)

在日常使用中,安裝docker后做好優(yōu)化配置工作,如配置json log大小及文件限制,定期清理無用的容器和鏡像,可以減少docker 空間占用導致宿主機磁盤空間不夠?qū)е碌母鞣N問題。當遇到以上措施無法處理的情況的時候,要靈活使用docker system df -v的命令進行故障排查分析。希望這個能幫到各位,有用就點個關注和收藏吧~

到此這篇關于k8s 與docker空間使用分析與清理的文章就介紹到這了,更多相關k8s 與docker空間使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 解決docker容器中出現(xiàn)Access denied for user 'root'@'172.17.0.2'(using password: YES)問題

    解決docker容器中出現(xiàn)Access denied for user &apo

    這篇文章主要介紹了解決docker容器中出現(xiàn)Access denied for user 'root'@'172.17.0.2'(using password: YES)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • docker 手動構(gòu)建新鏡像的方法

    docker 手動構(gòu)建新鏡像的方法

    這篇文章主要介紹了docker 手動構(gòu)建新鏡像的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • docker安裝portainer方法詳細步驟

    docker安裝portainer方法詳細步驟

    portainer是一款容器管理可視化界面,不想在虛擬中使用命令管理容器的小伙伴,可以選擇安裝portainer對容器進行管理,查看日志、啟動、停止容器等非常方便,這篇文章主要介紹了docker安裝portainer方法詳細步驟,需要的朋友可以參考下
    2022-10-10
  • Docker之cAdvisor的安裝使用方式

    Docker之cAdvisor的安裝使用方式

    這篇文章主要介紹了Docker之cAdvisor的安裝使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 在CentOS 7上安裝Docker環(huán)境的方法與注意事項

    在CentOS 7上安裝Docker環(huán)境的方法與注意事項

    這篇文章主要介紹了在CentOS 7上安裝Docker環(huán)境的方法與注意事項,需要的朋友可以參考下
    2016-10-10
  • Docker 搭建 Tomcat 運行環(huán)境的方法

    Docker 搭建 Tomcat 運行環(huán)境的方法

    這篇文章主要介紹了Docker 搭建 Tomcat 運行環(huán)境的方法,Docker與虛擬機及搭建過程,介紹的非常詳細,需要的朋友可以參考下
    2016-10-10
  • 私有云存儲Minio Docker鏡像無法啟動,提示:Adding local Minio host to 'mc' configuration

    私有云存儲Minio Docker鏡像無法啟動,提示:Adding local Minio

    使用Minio在本地搭建私有云存儲時出現(xiàn)無法啟動,查看日志頻繁輸出“Adding local Minio host to 'mc' configuration...”,然后停止了,本文給大家分享私有云存儲Minio Docker鏡像無法啟動,提示:Adding local Minio host to 'mc' configuration,感興趣的朋友一起看看吧
    2023-11-11
  • docker容器狀態(tài)的轉(zhuǎn)換實現(xiàn)

    docker容器狀態(tài)的轉(zhuǎn)換實現(xiàn)

    這篇文章主要介紹了docker容器狀態(tài)的轉(zhuǎn)換實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Docker 部署HAProxy v2.2.29 并暴露指標接口的問題解決

    Docker 部署HAProxy v2.2.29 并暴露指標接口的問題解決

    haproxy提供高可用性、負載均衡以及基于TCP(第四層)和HTTP(第七層)應用的代理,支持虛擬主機,它是免費、快速并且可靠的一種解決方案,這篇文章主要介紹了Docker 部署HAProxy v2.2.29 并暴露指標接口,需要的朋友可以參考下
    2023-04-04
  • docker 動態(tài)映射運行的container端口實例詳解

    docker 動態(tài)映射運行的container端口實例詳解

    這篇文章主要介紹了 docker 動態(tài)映射運行的container端口實例詳解的相關資料,需要的朋友可以參考下
    2016-10-10

最新評論