1.问题
在虚拟机上使用docker pull命令时,报错no space left on device
很明显,磁盘空间不足了
使用docker info命令,可以看到 Docker Root Dir 是在 /var/lib/docker
使用df -h命令,可以看到挂载的文件系统只剩下不到500M了,因此需要对其进行扩容
2.解决
(1) 增加虚拟硬盘大小
首先在虚拟机软件上,增加虚拟硬盘大小
我使用的是Hyper-V,从4G调整到8G
执行lsblk命令,可以看到sda总容量是8G,但是sda1+sda2才只有4G
因为新增磁盘后,需要将其挂载到目录下,才可以进行访问
(2) 进行磁盘分区
执行fdisk /dev/sda命令进行硬盘分区,可以输入 m 查看帮助
先输入 p 看下当前的分区情况
再输入 n 创建一个新分区,都使用默认值
再输入 p 看下新的分区情况
最后输入 w 从内存写入磁盘,并使用reboot重启
重启后输入lsblk,可以看到我们新创建的分区了
(3) 进行分区格式化
执行mkfs.xfs /dev/sda3进行分区格式化
(4) 分区挂载到目录
执行mount /dev/sda3 /var/lib/docker命令,将分区挂载到/var/lib/docker下
再通过df -h命令,可以看到挂载成功了
虽然现在已经将新增分区挂载到系统了,但是系统重启后挂载就会失效,如果想要设备与目录永久自动关联,还需设置开机自动挂载
执行vi /etc/fstab命令,并进行如下配置:
配置字段:
再使用docker pull命令,问题解决。
注意,当挂载之后,由于磁盘分区已经改变了,之前的镜像就都不存在了,如果需要保留,需要提前进行备份。