部署服務時,發現load的鏡像出現丟失現象


問題: 服務器根目錄使用率超過80%,上傳的鏡像包會丟失。

默認情況下docker的存放位置為:/var/lib/docker
方案1:使用軟連接方式(不建議,可以了解一下)
可以通過下面命令查看具體位置:
sudo docker info | grep "Docker Root Dir"

1.首先停掉docker服務
systemc stop docker
2.對之前數據做個文件備份
tar -zcvf docker-backup-$(date +%Y-%m-%d).tar.gz /var/lib/docker
3.然后遷移整個/var/lib/docker目錄到新的目錄下
根據自己服務器空間大的目錄下,創建目錄,以上圖為例
mkdir -p /data/tools/docker
mv /var/lib/docker /data/tools/docker
4.建立symlink軟鏈接
ln -s /data/tools/docker/ /var/lib/docker
5.確認文件夾類型為symlink 類型
ls -al /var/lib/docker
6.重新啟動docker發現目錄存儲路徑已經改變
systemctl start docker
sudo docker info | grep "Docker Root Dir"
方案2:修改鏡像和容器的默認存放路徑(推薦使用)
指定鏡像和容器存放路徑的參數是--graph=/var/lib/docker,我們只需要修改配置文件指定啟動參數即可。剛好有個300g盤的掛在/data目錄上,所以在這個目錄下新建一個文件路徑/data/docker
1.對之前的docker做個文件備份
tar -zcvf docker-backup-$(date +%Y-%m-%d).tar.gz /var/lib/docker
查看鏡像docker images
2.創建目錄
mkdir -p /data/docker
3.打開 /var/lib/docker/daemon.json 輸入以下內容(如果沒有找到就創建一個),
修改配置1
vim /etc/docker/daemon.json
{
"graph":"/data/docker"
}
修改配置2.
系統配置文件位置/etc/systemd/system/docker.service
vim /etc/systemd/system/docker.service
文本內容:ExecStart=/usr/bin/dockerd下面添加--graph /data/docker
如下:
ExecStart=/usr/bin/dockerd --graph /data/docker

4.重啟docker
systemctl daemon-reload
systemctl restart docker

5.docker info查看其中Docker Root Dir:已經改變
docker info | grep "Docker Root Dir"

6.但是這個時候用docker images 查看原來存在的鏡像不見了.
並查看/data/docker目錄下,已經生產了很多文件夾.


7.刪除/data/docker目路下的所有文件
rm -rf /data/docker/*
拷貝/var/lib/docker目錄下的所有內容
mv /var/lib/docker /data/
9.重啟服務
systemctl restart docker
10.查看鏡像
docker images


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM