docker占满linux磁盘根目录的解决办法

一、磁盘根目录被占满

[test@localhost docker]$ df -lh
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   50G  50G   0G   100% /
devtmpfs                 7.7G     0  7.7G   0% /dev
tmpfs                    7.8G     0  7.8G   0% /dev/shm
tmpfs                    7.8G   34M  7.7G   1% /run
tmpfs                    7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/sda1                494M  126M  369M  26% /boot
/dev/mapper/centos-home  1.8T  472G  1.4T  27% /home
tmpfs                    1.6G     0  1.6G   0% /run/user/0
tmpfs                    1.6G     0  1.6G   0% /run/user/1000

二、查询占用空间较大目录及文件

cd /
du -h --max-depth=1
# 一级一级目录往下查询,最终发现/var/lib/docker目录占用最多,docker目录中又以volumns占用最多

迁移DOCKER目录

注:以下所有步骤都在root用户下执行

因为默认docker将所有容器的卷文件都放置在了/var/lib/docker/volumns下,当容器使用的东西越来越多,这个目录占用根目录空间也越来越多,所以当根目录空间较小时迁移/var/lib/docker目录势在必行(其实在安装docker时提前做好目录迁移则更为方便),迁移步骤如下:

停止docker服务

service docker stop

备份docker到最大分区/home目录下面(注意:实际操作时发现mv docker目录实际变成了复制)

mv /var/lib/docker /home

为docker做软连接

cd /var/lib
rm -rf docker #前面的mv实际只有复制的效果,所以这里要执行一下删除操作
ln -s /home/docker ./

启动docker服务

service docker start 

三、启动DOCKER容器

su - test
cd docker
./start_docker.sh 容器名称
# 例如:./start_docker.sh wgq_test

 

posted @ 2019-03-15 10:57  鸭子船长  阅读(3335)  评论(0编辑  收藏  举报