问题描述
我在用docker-compos up -d
拉去docker镜像时,终于快要拉完时,报错,磁盘空间不足。。。
docker默认目录可以通过docker info
命令查出来,是 /var/ldocker/lib
,也就是 /
根目录下。
通过df -h
可以看出来,根目录已占满,这导致的一个很严重的问题是,在终端下敲入命令按Tab键竟然都无法弹出联想词汇(woc,我都傻了,这是实验室的服务器,我刚用,其他兄弟姐妹是怎么忍受的。。。)如下图:
解决办法
本来,我是按照记一次 docker 引起的服务器磁盘占满的问题这篇博文来改的,但是我发现当我 到 /var/lib/docker
目录下时,我发现已经没法更深入进去底层目录了。
那我只好更改策略,定下目标:修改docker根目录。以下步骤基本按照docker目录/var/lib/docker/磁盘满了,更换默认目录执行。
但是过程中仍然遇到一些问题,我挑重点的说一下:
从上图可以看出来/home目录下空间还算富足,所以,我通过vim /etc/docker/daemon.json
来修改根目录,从/var/lib/docker
修改为/home/docker/lib/docker
。这时候遇到一个大坑:先是报错Job for docker.service failed because the control process exited with error code,然后又是data-root
的错
这个地方一定得是“graph”,不然是不对的,因为这是centos7,不能用一般的“data-root”,这里特别感谢Stack Overflow yyds!
需要特别注意的是:
- 由于这是多个用户的系统,所以要用sudo。比如说
systemctl restart docker
重新加载docker命令就必须用sudo,不然就会报错。 - docker的daemon.json文件更改默认目录时,用"graph",而不能用"data-root",这个在centos7上已经不识别了。