| 本文主要介紹了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
