docker清理磁碟空間

2021-09-09 06:48:02 字數 1302 閱讀 5937

今天重啟docker的時候,發現容器啟動不了了,報的錯誤是:"error:cannot  create temporary directory!"。我的猜測應該就是磁碟空間滿了,於是執行命令"df -h",出來的結果是 掛載點/var/lib/docker/overlay/ 已用%為100%,真的是磁碟空間用完了。

我不理解的是我的容器有配置資料卷呀,容器裡面動態增長的資料例如上傳的、產生的日誌都是放在資料卷裡面的,照常來說是不會導致容器滿了呀,後面問了公司的美女,美女說讓我執行命令:docker ps -s ,看看容器大小是不是太大了,如果是太大了應該就是資料卷沒有設定好。按照美女說的執行了,發現容器大小跟我第一次執行容器的大小一樣,那就說明資料卷是設定成功了。然後就繼續問美女咯,美女問docker是誰裝的,我回到說是我自己安裝的並且還是採用離線的方式安裝的,美女就說那你就是docker預設目錄沒有改了,docker預設目錄空間太小了,用不了多久就會滿了。docker中預設存放映象和容器的目錄是:/var/lib/docker/,就是上面我說的掛載已經滿了的傢伙,那既然找到原因了,那就解決唄。解決辦法就是遷移預設目錄/var/lib/docker下面的所有檔案到新的目錄下面,然後將docker存放映象和容器的目錄改為新的目錄。

我的系統是ubuntu16.04解決的具體步驟如下:

1、停止docker服務。

systemctl stop docker; //每個liunx版本的命令不一樣。

2、建立新的docker目錄,執行命令df -h,找乙個大的磁碟。我的是放在/home目錄下面,我的/home目錄大小有900g。 我在 /home目錄下面建了 /home/docker/lib目錄,執行的命令是:mkdir -p /home/docker/lib

3、遷移/var/lib/docker目錄下面的檔案到 /home/docker/lib下面

cp -r /var/lib/docker/* /home/docker/lib/

注意:如果檔案內容很多的話,為了確保成功最好是乙個檔案乙個檔案的拷貝。如果在拷貝過程中報「裝置上沒有空間」的錯誤,就使用mv剪下。

[service]

execstart=

execstart=/usr/bin/dockerd --insecure-registry=私服位址 --graph=/home/docker/lib

5、過載配置,重啟docker

systemctl daemon-reload;

systemctl restart docker;

systemctl enable docker;

6、啟動成功後,確定容器沒問題後刪除/var/lib/docker/目錄中的檔案,然後就ok了。

清理Docker占用的磁碟空間

0 du hs var lib docker 命令檢視磁碟使用情況。linlf dacent sudo du hs var lib docker 237g var lib docker 1 docker system df命令,類似於linux上的df命令,用於檢視docker的磁碟使用情況 lin...

docker 清理占用的磁碟空間

硬碟空間檢視df thinode檢視df idocker占用的磁碟空間檢視docker system dfdocker system是用於管理磁碟空間的命令,docker system df,類似於df命令,專門用來檢視docker的磁碟使用情況。使用命令前要先確認是否可以刪除 刪除所有已經停止的容...

Docker磁碟空間分析與清理

首先使用du命令逐層分析docker磁碟的使用情況 base root openvino docker du h max depth 1 sort 0 containerd 0 libnetwork 0 netns 0 plugins 0 swarm 32k 32k runtime runc 使用 ...