docker如何迁移数据目录
本文主要介绍了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