docker如何迁移数据目录

Posted wx5a20cf699eb6f

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

本文地址:​​https://www.linuxprobe.com/migrate-data-directory.html​

以上是关于docker如何迁移数据目录的主要内容,如果未能解决你的问题,请参考以下文章

Docker 数据目录迁移解决方案

修改docker迁移数据和修改默认存储路径

docker磁盘空间不足之数据迁移解决方案

Gitlab---代码库备份的迁移与数据恢复

如何迁移docker磁盘文件路路径 (or 扩容)

如何迁移docker磁盘文件路路径 (or 扩容)