CentOS使用docker pull命令报错 —— no space left on device

353 阅读2分钟

1.问题

在虚拟机上使用docker pull命令时,报错no space left on device
很明显,磁盘空间不足了

使用docker info命令,可以看到 Docker Root Dir 是在 /var/lib/docker image.png

使用df -h命令,可以看到挂载的文件系统只剩下不到500M了,因此需要对其进行扩容 image.png

2.解决

(1) 增加虚拟硬盘大小

首先在虚拟机软件上,增加虚拟硬盘大小
我使用的是Hyper-V,从4G调整到8G image.png

执行lsblk命令,可以看到sda总容量是8G,但是sda1+sda2才只有4G
因为新增磁盘后,需要将其挂载到目录下,才可以进行访问
image.png

(2) 进行磁盘分区

执行fdisk /dev/sda命令进行硬盘分区,可以输入 m 查看帮助 image.png

先输入 p 看下当前的分区情况 image.png

再输入 n 创建一个新分区,都使用默认值 image.png

再输入 p 看下新的分区情况 image.png

最后输入 w 从内存写入磁盘,并使用reboot重启 image.png

重启后输入lsblk,可以看到我们新创建的分区了 image.png

(3) 进行分区格式化

执行mkfs.xfs /dev/sda3进行分区格式化 image.png

(4) 分区挂载到目录

执行mount /dev/sda3 /var/lib/docker命令,将分区挂载到/var/lib/dockerimage.png

再通过df -h命令,可以看到挂载成功了 image.png

虽然现在已经将新增分区挂载到系统了,但是系统重启后挂载就会失效,如果想要设备与目录永久自动关联,还需设置开机自动挂载

执行vi /etc/fstab命令,并进行如下配置: image.png 配置字段: image.png

再使用docker pull命令,问题解决。

注意,当挂载之后,由于磁盘分区已经改变了,之前的镜像就都不存在了,如果需要保留,需要提前进行备份。