报错信息

failed to register layer: ApplyLayer exit status 1 stdout: stderr: no space left on device

报错原因

Docker一般会默认安装在/var/lib/docker,但是我的服务器var空间又没分配多少,所以导致镜像在下载时空间不足,导致了报错。

解决方法

  1. 再分配一个磁盘,对/var/lib/docker目录进行挂载
  2. 新版的docker base Device Size默认只有10G,我pull的image在解压的过程中所需的空间超过了这个限制
  3. 指定镜像和容器的存储路径

这里我通过修改了第3解决的。

第3步我采用了结合的方法,先针对于该目录重新分配一个磁盘,再指定镜像和容器到新的存储路中。
Linux分区方法可以看我之前的文章,这里不再做记录。

操作步骤

修改挂载

修改配置

查看当前Docker根路径

docker info | grep -i **"docker root dir"**

建立配置目录

mkdir -p /etc/systemd/system/docker.service.d/

创建配置文件

vi  /etc/systemd/system/docker.service.d/devicemapper.conf

添加以下内容,/mnt/docker为新挂载磁盘的目录

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

生效

加载配置文件

systemctl daemon-reload

重启服务

systemctl restart docker

核实当前根路径

docker info | grep -i **"docker root dir"**
正文到此结束

本文标题:failed to register layer: ApplyLayer exit status 1 stdout: stderr: no space left on device

本文链接:https://www.hantaosec.com/3272.html

除非另有说明,本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

声明:转载请注明文章来源及链接,不带链接禁止任何转载!访问任何网络安全相关文章,则视为默认接受网络安全文章免责声明 ,请认真阅读。

喜欢我的文章吗?
别忘了点赞或赞赏,让我知道创作的路上有你陪伴。