docker导入镜像报错磁盘空间不足的解决方法

文章目录

  • 前言
    • 问题
    • 解决方法
      • 第一种,docker没有任何服务存在
      • 第二种,docker里还有服务和数据存在
    • 注意

前言

安装docker时,默认的安装位置是/var/lib/docker。
可以用docker info 查看 镜像存放的目录

问题

docker load -i nginx.tar

#报错
no space left device

报错是因为该目录没有磁盘空间

解决方法

先看看哪块有空间

df -Th

可以看出根目录下是有空间的。

第一种,docker没有任何服务存在

这种就很好解决;
1、配置 /usr/lib/systemd/system/docker.service

vim /usr/lib/systemd/system/docker.service

找到ExecStart这行,将原来的注释掉,更改成如下的形式

[Service]
ExecStart=/usr/bin/dockerd  --graph=/data/docker

2、保存退出,重启docker

systemctl daemon-reload
systemctl restart docker
systemctl enable docker

docker load -i nginx.tar
#就不会报错了

第二种,docker里还有服务和数据存在

1、停止docker服务

systemctl stop docker.service

2、在挂载的磁盘目录下创建存放镜像目录

mkdir -p /data/docker

3、迁移镜像文件

mv /var/lib/docker /data/docker

4、配置 /usr/lib/systemd/system/docker.service

vim /usr/lib/systemd/system/docker.service

找到ExecStart这行,将原来的注释掉,更改成如下的形式

[Service]
ExecStart=/usr/bin/dockerd  --graph=/data/docker

5、保存退出,重启docker

systemctl daemon-reload
systemctl restart docker
systemctl enable docker

6、启动成功后,再确认之前的镜像和容器是否还在

docker images

docker ps -a

注意

由于更换了docker 目录,以前下载的镜像需要转移到新目录下,建议直接删除原来的镜像,重新下载。所以这个建议在刚开始下载docker的时候就进行修改,避免后续的问题

你可能感兴趣的