↓ 跳过正文

docker 默认空间不足的问题解决

正能量 2 分钟阅读 更新于 2026-10-18

解释 Docker 数据目录迁移的容量、停机一致性和配置切换步骤。

容器服务:原站配图。
<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/docker

3、迁移/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 属于历史写法。

验证与边界
#

迁移应保存文件属性并避免并发写入,切换后核对实际数据根目录、容器与卷。未验证恢复前应保留原目录,不能因复制遇到空间不足就直接删除源数据。