问题描述

docker服务运行一段时间之后,发现某些功能无法访问

初步 定位磁盘空间已满(出现了很多次这种情况,所以要重视)

解决方案

1.删除日志腾出空间(可以临时解决问题,过几天可能还出现这种情况)

2.扩展docker磁盘的空间(要是安装centos磁盘空间比较大还是很有效的一种解决方案)

备注 (注意docker默认空间位置分配的磁盘大小,如系统是磁盘是很大的,但是在/var目录只有25G,见下图)

 接下来就是修改默认配置

1.停止docker服务
systemctl stop docker
2.创建新的docker目录,执行命令df -h,找一个大的磁盘
如在 /opt目录下面建了/opt/docker/lib目录
 mkdir -p /opt/docker/lib
3.迁移/var/lib/docker目录下面的文件到/opt/docker/lib
迁移后的完成docker路径:/opt/lib/docker
cp  -r /var/lib/docker/  /opt/docker/lib/
4.配置 /etc/systemd/system/docker.service.d/devicemapper.conf
查看/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添加如下内容:

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd  --graph=/opt/docker/lib/docker


5. 重启docker
systemctl daemon-reload
systemctl restart docker
systemctl enable docker

6.确认Docker Root Dir修改是否已经生效
[root@iZbp1jcwx7sfb1yrnvpg84Z docker]# docker info
...
Docker Root Dir: /opt/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
...

7.启动成功后,再确认之前的镜像是否还在
 docker images
8.确认无误,可删除之前目录下的文件

修正后如下图所示(磁盘空间已经充足)

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐