<pre class="prism-highlight" prism-language-bash="">systemctl stop docker;//每个liunx版本的命令不一样。
2、创建新的docker目录,执行命令df -h,找一个大的磁盘。我的是放在/home目录下面,我的/home目录大小有50G。 我在 /home目录下面建了 /home/docker目录,执行的命令是:
<pre class="prism-highlight" prism-language-bash="">mkdir -p /home/docker3、迁移/var/lib/docker目录下面的文件到 /home/docker下面
<pre class="prism-highlight" prism-language-bash="">cp -R /var/lib/docker/* /home/docker/注意:如果文件内容很多的话,为了确保成功最好是一个文件一个文件的拷贝。如果在拷贝过程中报“设备上没有空间”的错误,就使用mv剪切。
4、修改docker配置(/etc/systemd/system/docker.service.d/devicemapper.conf),在文件末添加 --graph=/home/docker
devicemapper.conf文件的内容如下:
<pre class="prism-highlight" prism-language-bash="">[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --insecure-registry=私服地址 --graph=/home/docker注意:如果/etc/systemd/system/docker.service.d/devicemapper.conf,这个路径找不到的话,就新建,新建之后加入内容,没有私服地址的话就可以去掉”--insecure-registry=私服地址”。私服地址配置为可选
5、重载配置,重启docker
<pre class="prism-highlight" prism-language-bash="">systemctl daemon-reload;
systemctl restart docker;
systemctl enable docker;6、启动成功后,确定容器没问题后删除/var/lib/docker/目录中的文件,然后就OK了。
补充阅读#
解释 Docker 数据目录迁移的容量、停机一致性和配置切换步骤。
如何理解与使用#
先确认真正占用空间的是镜像、容器层、日志还是卷,再决定是否迁移数据根目录;原文 --graph 属于历史写法。
验证与边界#
迁移应保存文件属性并避免并发写入,切换后核对实际数据根目录、容器与卷。未验证恢复前应保留原目录,不能因复制遇到空间不足就直接删除源数据。
