操作系统为 CentOS Linux release 7.2,试过网上的一些方法例如软链接,增加graph路径都没有用,自己摸索找到了配置路径的位置,记录一下。
- 使用
df -h
查看磁盘状况:
1 2 3 4 5
| $ df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 99G 91G 3.4G 97% / /dev/vdb1 493G 62G 406G 14% /data overlay 99G 91G 3.4G 97% /var/lib/docker/overlay2/xxx
|
可以看到/var/lib/docker/
放满了,可以移到data
目录下。
同时可以先确认一下目前的 docker 目录:
1 2 3 4
| $ docker info ... Docker Root Dir: /var/lib/docker ...
|
- 清理无用的内容
可添加-a
清除得更彻底。之后查看磁盘状况:
1 2 3 4 5
| $ df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 99G 83G 12G 88% / /dev/vdb1 493G 62G 406G 14% /data overlay 99G 83G 12G 88% /var/lib/docker/overlay2/xxx
|
有所缓解,但12G依然不够用,需要更改 docker 目录到 /data
下。
- 停止docker服务
- 创建新的docker工作目录
1
| $ mkdir -p /data/dockerlib
|
- 迁移/var/lib/docker
1
| rsync -avz /var/lib/docker /data/dockerlib
|
- 改动配置文件
1
| $ vim /etc/docker/daemon.json
|
在文件中更改
1
| "data-root": "/data/dockerlib/docker",
|
- 重启docker服务
1 2 3 4 5
| systemctl daemon-reload systemctl restart docker systemctl enable docker
|
- 确认是否配置成功
1 2 3 4
| $ docker info ... Docker Root Dir: /data/dockerlib/docker ...
|
- 确认 docker 已经成功转移
修改原 docker 路径名,再进行一些操作
1 2 3
| $ mv /var/lib/docker /var/lib/docker_temp $ docker image list $ docker container list
|
在这一步我发现之前的 container 进去会有问题,但是重启后可以重新进入:
1 2 3
| $ docker stop xxx $ docker start xxx $ docker exec -it xxx /bin/bash
|
确认无误后可以删除,为了防止出错可以用一阵子再删
1
| $ rm -rf /var/lib/docker_temp
|