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]
[[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路徑