1. 程式人生 > >docker記憶體不足的解決辦法

docker記憶體不足的解決辦法

一般解決方案:停止docker映象服務,刪除映象和容器,一般可以恢復,若未恢復,刪除/var/lib/docker/目錄下檔案,可以恢復。前提是需停止docker服務。

(1) docker 的基本命令都使用不了?

答:重啟宿主機reboot,要是reboot 一直重啟不了就打電話給資訊中心,之後docker 命令可以正常使用。

(2) docker ps 命令後發現沒有容器,docker –v  發現 也沒有docker ,此時用df –h 命令發現磁碟的記憶體依然是被佔用100% ,那麼使用如下命令來釋放磁碟空間:

1首先搜尋已經安裝的docker 安裝包 

[[email protected] ~]# yum list installed|grep docker 

或者使用該命令 
[[email protected] ~]# rpm -qa|grep docker 

然後會顯示如下內容:
docker.x86_64 
 2:1.12.6-16.el7.centos    @extras 
docker-client.x86_64   2:1.12.6-16.el7.centos   @extras 
docker-common.x86_64   2:1.12.6-16.el7.centos  @extra

2 分別刪除安裝包 
[[email protected] ~]#yum –y remove docker.x86_64 
[[email protected]

~]#yum –y remove docker-client.x86_64 
[[email protected] ~]#yum –y remove docker-common.x86_64 
3 刪除docker 映象 
[[email protected] ~]# rm -rf /var/lib/docker 

4 再次check docker是否已經解除安裝成功

[[email protected] ~]# rm -rf /var/lib/docker 
[[email protected] ~]# 
如果沒有搜尋到,那麼表示已經解除安裝成功。

使用 df -h  命令檢視以後發現磁碟空間的佔用依然是100%,此時使用 xfs_fsr /dev/mapper/rhel-root 命令,然後在用命令 df-h  命令檢視發現磁碟空間釋放了。如下圖所示:

(3) 重新安裝docker 

知識補充:

(1)df 命令用來看磁碟空間的佔用情況;

df(選項) (引數)

選項:

-a 包含全部的檔案系統

-h 以可讀性較高的方式來顯示資訊。

-i 顯示inode 資訊

-l 僅顯示本地端的檔案系統

-T 顯示檔案系統的型別

(2) xfs_fsr :碎片整理

因為docker安裝在 / 目錄下,所以使用命令

xfs_fsr /dev/mapper/rhel-root

xfs相關常用命令
xfs_admin:
調整 xfs 檔案系統的各種引數  
xfs_copy:
拷貝 xfs 檔案系統的內容到一個或多個目標系統(並行方式)  
xfs_db:
除錯或檢測 xfs 檔案系統(檢視檔案系統碎片等)  
xfs_check:
檢測 xfs 檔案系統的完整性  
xfs_bmap:
檢視一個檔案的塊對映  
xfs_repair:
嘗試修復受損的 xfs 檔案系統  
xfs_fsr:
碎片整理  
xfs_quota:
管理 xfs 檔案系統的磁碟配額  
xfs_metadump:
將 xfs 檔案系統的元資料 (metadata) 拷貝到一個檔案中  
xfs_mdrestore:
從一個檔案中將元資料(metadata) 恢復到 xfs 檔案系統  
xfs_growfs:
調整一個 xfs 檔案系統大小(只能擴充套件)  
xfs_freeze   
暫停(-f)和恢復(-u)xfs 檔案系統
xfs_logprint:
列印xfs檔案系統的日誌  
xfs_mkfile:
建立xfs檔案系統  
xfs_info:
查詢檔案系統詳細資訊  
xfs_ncheck: generate pathnames from i-numbersfor XFS  
xfs_rtcp: XFS
實時拷貝命令  
xfs_io:
除錯xfs I/O路徑