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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改docker迁移数据和修改默认存储路径相关的知识,希望对你有一定的参考价值。

参考技术A 由于docker默认会存储在 /var/lib/docker/ 目录下,而该目录又挂载在 / 根分区,随着长时间的运行占用的磁盘会越来越多,而默认的根分区只有50G所以就要考虑迁移和修改docker的默认存储路径到一个新的分区上了。

通过修改docker.service文件,使用-g参数指定存储位置,默认位置为/var/lib/docker

找到 ExecStart这一行,加入 --graph /home/docker

到此迁移完成。

修改docker默认存储路径方法总结

默认情况下,docker镜像的默认存储路径是/var/lib/docker,这相当于直接挂载根目录下,然而如果在安装系统时选择了自动分区,根分区一般不会分太大,CentOS会默认分50G,麒麟v4大概是100G。

docker的默认路径:

 修改docker的默认路径,有三种方法

先创建新的docker目录

mkdir /home/docker

centos在安装时如果选择默认分区,会把最大存储空间分给home,此处也可另外挂载一块磁盘,把新的docker目录建在新磁盘上面

如果已经有镜像已经加载,已经有容器正在运行,请先停了docker服务,并把数据迁移到新目录中

1、修改docker.service

vim /usr/lib/systemd/system/docker.service

#在里面的EXECStart的后面增加--graph /home/docker:

ExecStart=/usr/bin/dockerd  -H fd:// --containerd=/run/containerd/containerd.sock  --graph /home/docker

保存退出后执行以下命令

systemctl enable docker
systemctl daemon-reload
systemctl restart docker

2、编辑配置文件/etc/docker/daemon.json添加 "data-root": "/data/docker

vim /etc/docker/daemon.json


  "registry-mirrors": ["https://registry.docker-cn.com"],
  "data-root": "/data/docker"
  "log-driver":"json-file",
  "log-opts": "max-size":"100m"

保存退出后

重启docker应用

systemctl restart docker

3、使用软链接

使用软链接需要先把/var/lib下的docker目录删除,删除之前记得迁移数据。然后用下面命令创建软链接

ln -s /home/docker /var/lib

systemctl restart docker

重启docker

以上就是修改docker默认路径之方法,可根据实际情况选用。

以上是关于修改docker迁移数据和修改默认存储路径的主要内容,如果未能解决你的问题,请参考以下文章

Docker 数据目录迁移解决方案

Mysql数据库文件迁移并修改默认数据文件存储位置

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

CentOS7修改MySQL8数据存储路径

CentOS7修改MySQL8数据存储路径

RocketMQ迁移