用户登录
用户注册

分享至

docker无法pull怎么办

  • 作者: 孙二娘她妹夫
  • 来源: 51数据库
  • 2022-10-24

docker无法pull的解决办法:1、在docker服务开启状态下,查看自己的“docker root dir”;2、关闭docker服务;3、新建“root dir path”;4、编辑“daemon.json”,添加“"graph":“/docker/data””;5、执行“systemctl daemon-reload”;6、重启docker服务即可。

本教程操作环境:linux7.3系统、docker19.03版、Dell G3电脑。

docker无法pull怎么办?

docker pull 镜像失败:ERROR: failed to register layer: no space left on device

docker pull 失败:ERROR: failed to register layer: /usr/local/openjdk-11/lib/module: no space left on device

简直太难了,docker pull tomcat镜像,我第一次pull镜像就提示我no space left …,空间不足,我已经给虚拟机扩容了,而且我什么镜像都没安装,就no space。无语了。网上搜了一堆解决方案,很多都是说修改docker的root dir。按照网上的试了三种方法,愣是没修改成功。最后其实不是网上方法不对,是不符合自己的。因为我的在/etc/docker/daemon.json文件中配置了加速器。下面说下我的解决方案。我安装的centos 7系统。

1、在docker服务开启状态下,查看自己的docker root dir,输入

docker info

找到Docker Root Dir: /var/lib/docker,没修改前我的是这个地址

退出,按下esc按键,输入:wq,回车即可退出

2、然后关闭docker 服务

systemctl stop docker.service

3、新建一个自己想要修改的root dir path,已经有目标地址的不用新建

我的是/xws/docker/images

mkdir -p /xws/docker/images

4、编辑/etc/docker/daemon.json 添加"graph": “/docker/data”

vim /etc/docker/daemon.json
{
 "graph": "/xws/docker/images"
}

对于我,最重要的一步是这个!在/etc/docker/daemon.json配置了镜像加速器的,要修改为如下格式:

{
"registry-mirrors":["https://xxxxx.mirror.aliyuncs.com"],"graph": "/usr/xws/docker/images"
}

我的当时一直修改不成功,是这样子修改的:以下是错误示范:

{
"registry-mirrors":["https://xxxxx.mirror.aliyuncs.com"]
}
{
 "graph": "/xws/docker/images"
}

5、退出编辑,然后执行

systemctl daemon-reload

6、重启docker服务

systemctl restart docker.service

7、最后,确认下是否修改成功

docker info | grep Dir

我的修改成功啦~

ca5eed3b199ad2927e111b13f8cf338.jpg

我pull tomcat镜像也成功啦!开心

cf376cdf44f5da45798ce8d36cff53a.jpg

还有一个问题,linux总是提醒文件系统根目录上的磁盘空间不足,东西我也不敢乱删,找了资料后发现可以把caches删掉。大家如果有遇到可以试下,就弹出的那个信息,点击查看,顺着内存爆满红红的找到caches的删除即可。

软件
前端设计
程序设计
Java相关