docker pull报错Error response from daemon

博客主要说一下docker的两个问题。

第一个遇到的问题是在docker pull的时候,报错docker error response from daemon get https //registry-1.docker.io/v2/,

上述问题原因在于国内网站想要从dockerhub上拉取镜像需要翻墙或者添加国内镜像源,添加国内镜像源(如阿里、清华、中科大等镜像源)需要在/etc/docker/daemon.josn上进行编辑,如果没有该文件,可以直接创建该文件。

然后在daemon.json文件里编辑,如下:

{

    "registry-mirrors": ["https://registry.docker-cn.com"]

}

然后运行

sudo systemctl daemon-reload

sudo systemctl restart docker

同时,如果docker存放镜像的空间如果不足,还可以在该json文件中修改docker的根目录

{

    “data-root": "/path/to/your/new/Root"

}

但值得一说的是,目前国内镜像已经不管用了,所以最好还是使用代理来连接dockerhub。

指定docker的代理的话,则首先创建文件夹

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

然后创建并编辑文件

sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf

 在文件中设置代理

[Service]

Environment="HTTP_PROXY=http://xxxx.com:8080/" Environment="HTTPS_PROXY=http://xxxx.com:8080/"

然后运行

sudo systemctl daemon-reload

sudo systemctl restart docker

通过该方法可以解决大部分网络连接问题。

第二个docker问题是,docker pull 镜像时,报错 “Failed to register layer: open /vat/lib/***/gcc-8-base***.list invalid argument"

对于我来说,原因在于我新安装的docker版本是27.*,它目前我知道的是仅仅支持overlay2的docker驱动,而overlay2要求docker的根目录必须要ext4格式的文件系统,而我是因为修改了docker的根目录,从而导致docker的驱动自动根据文件系统,转化为了vfs,从而导致上述的问题,目前解决这个问题的办法,只有要么将根目录所在的文件系统刷为ext4格式,要么换一个是ext4的磁盘作为新的根目录。

PS:同时也可能部分原因是docker版本太高了,不兼容其他的了,之前我的docker是19.0.*版本的时候,是支持vfs驱动拉取镜像的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值