本文主要介紹了docker遷移數據目錄的方法步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小夥伴們可以參考一下 |
查看磁盤使用
# du -hs /var/lib/docker/
237G /var/lib/docker/
# docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 7 2 122.2GB 79.07GB (64%)
Containers 2 2 61.96GB 0B (0%)
Local Volumes 0 0 0B 0B
Build Cache 0 0 0B 0B
磁盤清理 (切勿輕易使用)
# docker system prune 命令可以用於清理磁盤,刪除關閉的容器、無用的數據卷和網絡,以無tag的鏡像。
# docker system prune -a 命令可以將沒有容器使用Docker鏡像都刪掉。注意,這兩個命令會把暫時關閉的容器,以及暫時沒有用到的Docker鏡像都刪掉。
遷移數據
【停docker】
# systemctl stop docker
【創建新的docker目錄】
# mkdir -p /home/docker/lib
【遷移 /var/lib/docker 目錄】
(注:可直接mv,確保磁盤夠大)
# rsync -avz /var/lib/docker /home/docker/lib/
【增加配置】
查看 /etc/systemd/system/docker.service.d/devicemapper.conf是否存在。如果不存在,就新建。
# mkdir -p /etc/systemd/system/docker.service.d/
# vi /etc/systemd/system/docker.service.d/devicemapper.conf
(注:devicemapper.conf 增加配置:同步的時候把父文件夾一併同步過來,實際上的目錄應在 /home/docker/lib/docker )
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --graph=/home/docker/lib/docker
【重新加載 docker】
# systemctl daemon-reload
# systemctl restart docker
# systemctl enable docker
【檢查docker info】
# docker info | grep "Docker Root Dir"
是否變更爲: /home/docker/lib/docker
【檢查鏡像】
# docker images
【清理原數據】
確定容器沒問題後刪除/var/lib/docker/目錄中的文件。
# rm -rf /var/lib/docker
本文地址:https://www.linuxprobe.com/migrate-data-directory.html