overlay 100%

  • A+
所属分类:docker 软件开发

思路:

1.扩容磁盘
2.将docker 安装文件迁移到扩容的磁盘中
3.迁移后需更改原有容器的文件的权限

问题描述

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

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

解决方案

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

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

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

overlay 100%

 接下来就是修改默认配置

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添加如下内容:


  1. [Service]


  2. ExecStart=


  3. 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.确认无误,可删除之前目录下的文件

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

overlay 100%

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: