docker no space left

本文介绍了解决Docker镜像存储空间不足的方法,包括检查磁盘使用情况、验证数据卷设置、迁移默认存储目录及修改Docker配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此文章为转载加总结;

保存镜像tar包,显示 设备空间不足,如何解决?参考链接:https://blog.youkuaiyun.com/niu_hao/article/details/78873076

1. 用df -Th查看磁盘使用情况;

2. docker ps -s 查看容器大小,验证数据卷是否设置成功,若容器增长较大,说明没有成功。

3.查看docker默认目录有没有改,docker默认目录空间太小了,用不了多久就会满。docker中默认存放镜像和容器的目录是:/var/lib/docker/。解决办法就是迁移默认目录/var/lib/docker下面的所有文件到新的目录下面,然后将docker存放镜像和容器的目录改为新的目录。

  我的系统是Centos7,解决的具体步骤如下:

           1、停止docker服务。

                 systemctl stop docker; //每个liunx版本的命令不一样。

          2、创建新的docker目录,执行命令df -h,找一个大的磁盘。我的是放在/home目录下面,我的/home目录大小有20G。 我在 /home目录下面建了 /home/docker/lib目录,执行的命令是:mkdir -p /home/docker/lib

          3、迁移/var/lib/docker目录下面的文件到 /home/docker/lib下面

              cp -R /var/lib/docker/* /home/docker/lib/

             注意:如果文件内容很多的话,为了确保成功最好是一个文件一个文件的拷贝。如果在拷贝过程中报“设备上没有空间”的错误,就使用mv剪切。

       4、修改docker配置(/etc/systemd/system/docker.service.d/devicemapper.conf,这个路径根据系统不同而不同,也可能是/usr/lib/systemd/system)。

在ExecStart末添加--graph=/home/docker/lib。

              devicemapper.conf文件的内容如下:

                  [Service]

                           ExecStart=/usr/bin/dockerd --insecure-registry=私服地址 --graph=/home/docker/lib

               注意:如果/etc/systemd/system/docker.service.d/devicemapper.conf,这个路径找不到的话,就新建,新建之后加入内容,没有私服地址的话就可以去掉”--insecure-registry=私服地址”。

            5、重载配置,重启docker

                  systemctl daemon-reload;

                  systemctl restart docker;

                  systemctl enable docker;

          6、启动成功后,确定容器没问题后删除/var/lib/docker/目录中的文件,然后就OK了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值