有的时候,由于网络原因,国内无法获取某些镜像

比如获取k8s.gcr.io/metrics-server/metrics-server:v0.5.2镜像,有如下报错:

~$ docker pull k8s.gcr.io/metrics-server/metrics-server:v0.5.2
Error response from daemon: Get https://k8s.gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

这里提供两种解决方法:

1.通过配置代理拉取镜像

2.通过其它镜像仓库获取镜像

一.通过配置代理拉取镜像

1.创建目录

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

2.创建http-proxy.conf配置文件

代理地址根据自身情况填写

cat <<EOF | sudo tee /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://192.168.0.104:10818/"
Environment="HTTPS_PROXY=http://192.168.0.104:10818/"

EOF

3.刷新变更

systemctl daemon-reload

4.重启Docker服务

systemctl restart docker

5.验证配置是否生效

systemctl show --property=Environment docker

以下输出,说明配置成功加载

Environment=HTTP_PROXY=http://192.168.0.104:10818/

6.验证是否成功获取镜像

成功获取镜像

$ docker pull k8s.gcr.io/metrics-server/metrics-server:v0.5.2
v0.5.2: Pulling from metrics-server/metrics-server
e8614d09b7be: Pull complete
334ef31a5c43: Pull complete
Digest: sha256:6385aec64bb97040a5e692947107b81e178555c7a5b71caa90d733e4130efc10
Status: Downloaded newer image for k8s.gcr.io/metrics-server/metrics-server:v0.5.2
k8s.gcr.io/metrics-server/metrics-server:v0.5.2

参考地址

Daemon proxy configuration

二.通过其它镜像仓库获取镜像

无法从Dockerhub获取镜像

$ docker pull haproxy:1.6.15
Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

如果不想通过配置代理重启docker的方式或者没有代理地址配置。也可以通过包含该镜像的其它镜像仓库获取

比如: dockerproxy.net

但是这里通过 dockerproxy.net 获取镜像失败,没有找到该镜像

docker pull dockerproxy.net/haproxy:1.6.15
# Error response from daemon: manifest for dockerproxy.net/haproxy:1.6.15 not found: manifest unknown: manifest unknown

就通过其它镜像加速器获取镜像了

如:aws的 https://gallery.ecr.aws/docker/library/haproxy

但是aws中没有对应的版本,所以这里采用的是 docker.m.daocloud.io

已知原始镜像地址 haproxy:1.6.15,采用 docker.m.daocloud.io获取镜像,成功

$ docker pull docker.m.daocloud.io/haproxy:1.6.15
1.6.15: Pulling from haproxy
e62d08fa1eb1: Pull complete
b5638da587ee: Pull complete
3553620c41aa: Pull complete
Digest: sha256:b34a78d985f2512bcfbb11c2c454535f85076d97309490da98a5d7905b5b4b54
Status: Downloaded newer image for docker.m.daocloud.io/haproxy:1.6.15
docker.m.daocloud.io/haproxy:1.6.15

参考:

镜像加速器列表

标签: Docker

添加新评论