请注意,本文编写于 783 天前,最后修改于 782 天前,其中某些信息可能已经过时。
报错信息
failed to register layer: ApplyLayer exit status 1 stdout: stderr: no space left on device
报错原因
Docker一般会默认安装在/var/lib/docker,但是我的服务器var空间又没分配多少,所以导致镜像在下载时空间不足,导致了报错。
解决方法
- 再分配一个磁盘,对/var/lib/docker目录进行挂载
- 新版的docker base Device Size默认只有10G,我pull的image在解压的过程中所需的空间超过了这个限制
- 指定镜像和容器的存储路径
这里我通过修改了第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"**