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
我的修改成功啦~
我pull tomcat镜像也成功啦!开心
还有一个问题,linux总是提醒文件系统根目录上的磁盘空间不足,东西我也不敢乱删,找了资料后发现可以把caches删掉。大家如果有遇到可以试下,就弹出的那个信息,点击查看,顺着内存爆满红红的找到caches的删除即可。
推荐学习:《docker视频教程》
以上是docker无法pull怎么办的详细内容。更多信息请关注PHP中文网其他相关文章!