问题描述:
今天本来想使用gcr.io/google-containers/cadvisor这个镜像,但是发现拉取失败了,然后将其替换为registry.cn-hangzhou.aliyuncs.com/google-containers/cadvisor还是失败。这怎么办呢?
问题解决:
- 如果可以使用代理的话,直接使用代理。由于我使用的是京东云服务器,所以用不了代理。
- 使用代理在本地拉取镜像,然后推送到阿里云或者其他云的镜像仓库,然后拉取。
-
开启代理
如何开启代理的方式自己网上搜喔,本文不再阐述 -
设置docker的代理地址
-
使用docker desktop的话,可以直接设置
在preference下有Proxies设置
截屏2020-02-02下午7.46.59.png
然后点击apply&restart
-
然后拉取google的镜像
docker pull gcr.io/google-containers/cadvisor:latest
latest: Pulling from google-containers/cadvisor
9d48c3bd43c5: Pull complete
f7d6cbe0ad90: Pull complete
15f5311b080f: Pull complete
Digest: sha256:46d4d730ef886aaece9e0a65a912564cab0303cf88718d82b3df84d3add6885c
Status: Downloaded newer image for gcr.io/google-containers/cadvisor:latest
gcr.io/google-containers/cadvisor:latest
- 登录阿里云的镜像仓库
- 登录阿里云控制台,选择容器镜像的服务
-
单击访问凭证,如下所示
截屏2020-02-02下午7.51.59.png- 先点击右边的设置固定密码按钮 设置密码
- 然后复制“登录实例”下的命令在终端登录
docker login --username=tzh52cq registry.cn-hangzhou.aliyuncs.com
Password:
Login Succeeded
-
在阿里云控制台创建你的镜像仓库
截屏2020-02-02下午8.00.56.png
比如我创建了一个叫做advisor的镜像,点击镜像名称,里面有操作指南
-
给本地通过代理拉取的镜像打tag并推送
- 打tag
docker tag d24b7db72c99 registry.cn-hangzhou.aliyuncs.com/tzh921129/cadvisor:latest
- 推送
docker push registry.cn-hangzhou.aliyuncs.com/tzh921129/cadvisor:latest
The push refers to repository [registry.cn-hangzhou.aliyuncs.com/tzh921129/cadvisor]
f8ec36947d79: Pushed
c9d3d2ea4155: Pushed
03901b4a2ea8: Pushed
latest: digest: sha256:46d4d730ef886aaece9e0a65a912564cab0303cf88718d82b3df84d3add6885c size: 952
- 拉取你推送的镜像
在我的京东云服务器上执行登录并拉取
- 登录阿里云镜像仓库
docker login --username=tzh52cq registry.cn-hangzhou.aliyuncs.com
Password:
Login Succeeded
- 拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/tzh921129/cadvisor:latest
- 可以设置镜像加速
点击阿里云控制台的镜像加速器,上面有操作指南,复制粘贴执行一遍就行可以大大提升镜像拉取速度
网友评论