Ubuntu20.04修改docker鏡像存儲位置並進行數據遷移


1.首先,默認情況下docker的鏡像和容器都是保存在/var/lib/docker下面,可以進入查看一下:

如果不是root用戶查看的話,可能會出現權限不夠的問題,可以通過chown更改文件夾權限:
sudo chown -R apr:user /var/lib/docker
其中,apr表示用戶當前所在的用戶組,user表示用戶賬戶名稱
可以使用groups user查看用戶user所在的用戶組

2.使用du命令查看文件夾大小:
sudo du -hd 1

verlay2就是鏡像文件大小

3.將原來的docker文件夾拷貝到新的地方(比如更大的磁盤上,假設是/data分區)
sudo cp -r /var/lib/docker /data/docker
注:這里不需要新建一個/data/docker目錄,再進行復制,如果原來就存在、data/docker的話,復制的結果會變成/data/docker/docker

4.然后修改docker中默認鏡像和容器的保存位置。
sudo vim /etc/docker/daemon.json

5.將里面的data-root改為新的docker容器存儲位置(前面一行如果配置有鏡像源的話,一定要加“,”將兩個語句隔離開)
"data-root": "/data/docker",

6.修改docker.service里的內容
vim /lib/systemd/system/docker.service

將ExecStart這一行修改為:

ExecStart=/usr/bin/dockerd --graph=/data/docker --storage-driver=overlay

然后重啟docker服務,就可以更新docker默認的鏡像容器保存位置,特別注意,如果新的保存位置里拷貝了原來容器保存位置里的所有內容,那么鏡像數據等也就遷移過來了。
sudo systemctl stop docker
sudo systemctl start docker
sudo systemctl status docker

docker主要是做了文件系統的隔離,所以每個鏡像和容器實際上都是依賴塊隔離的硬盤空間(在里面部署一個隔離的文件系統),所以可以通過直接拷貝的方式進行遷移,而不需要擔心有什么依賴關系無法通過拷貝帶過去。


免責聲明!

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



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