赞
踩
在做harbor实验时,因为需要导入过多的镜像,而根空间不足。
问题:空间不够
问题描述: Error processing tar file(exit status 1): no space left on device
解决方案:
查询默认路径为 /var/lib/docker由于当初分系统的时候没有考虑足够的空间,因此这个逻辑空间不够。解决思路有两个,其一是扩充 该路径下的空间,其二是采用 更改docker的root path 。 由于前一种方案需要使用 lvextend
命令,并在实际扩容的过程中报错 ...: invalid path for logical volume
。于是采用第二种方案。以下为详细修改内容。
docker root path更改 方案:
第一步:查看 docker 的根目录
docker info | grep -i "docker root dir"
第二步:查看目录剩余空间
df -hl /var/lib/docker
可以发现docker的根目录/var/lib/docker
是在文件系统/dev/mapper/rhel-root
下,所以我们增加一块磁盘,给它创建一个更大空间的根目录。
第三步:增加磁盘,并格式化挂载。
fdisk /dev/sdb
partprobe
mkfs.xfs /dev/sdb1
mkdir /harbor
mount /dev/sdb1 /harbor
第四步:创建目标目录
mkdir -p /etc/systemd/system/docker.service.d/
第五步:创建配置文件
vim /etc/systemd/system/docker.service.d/devicemapper.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --graph=/harbor
第六步:重启 docker
systemctl daemon-reload
systemctl restart docker
检查docker根目录:
docker info | grep -i "docker root dir"
导入镜像:
由于是新建的根目录,因此之前所有的镜像、容器、卷等在新目录中是没有的,所以如果需要则需迁移。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。