使用GoogleCloudShell解决99%的镜像拉取问题(google scholar 镜像不能用)

2023-03-14 20:31:03

 

一、前言在使用docker或者Kubernetes的时候,经常会遇到镜像下不下来的情况,大部分镜像都能在dockerhub或者阿里云容器仓库中能找到(能找到是因为有其他人拉取到他们的仓库里了),但是出现找不到的时候,我们就得自己去拉镜像了。

二 、原理这个方法借助Google cloud shell,唯一的要求就是能访问google cloud shell核心原理如下使用Google cloud shell来拉取镜像将镜像上传至一个自己的仓库中(我使用的是阿里云仓库)。

再从个人仓库中把对应镜像下载下来。从原理上来说,使用这个方法可以解决几乎所有的镜像拉取问题。三、操作1. 进入Google Cloud Shell

点击转到控制台,这一步可能需要Google Account2. 查看并测试控制台功能

这一步已经启动Google为我们提供的Shell了,可以使用docker image ls来查看现在本地仓库的情况3. 拉取目标镜像假设我这里要拉取的镜像为:http://gcr.io/spark-operator/s

park:v3.1.1那么先使用docker pull 把这个镜像拉取到google cloud shell本地

这里很快就能下下来了,可以再使用docker image ls来验证本地镜像4. 使用阿里云镜像服务(1)进入 https://cr.console.aliyun.com/cn-hangzhou/instances

(2)然后创建一个个人实例(具体的创建过程这里就不说了,可以参考网上和阿里云的教程)(3)创建一个命名空间,这里我只有一个namespace,大家自己创建一个就行

5. 在Google Cloud Shell中使用阿里云仓库阿里云容器仓库的使用,可以参考阿里云的教程:使用个人版实例推送拉取镜像这里简单记录一下(1)登陆仓库docker login --username=**** registry.cn-hangzhou.aliyuncs.com

这里username后面的****换成你阿里云的用户名,如果忘记了就把鼠标移到右上角头像那里,账号id上面的字符串就是然后输入密码,登陆成功的结果如下图

(2)docker tag重新打标签

要求重新tag的格式为:域名+namespace+仓库名:版本号(3)上传拉取下来的镜像至阿里云仓库使用命令:docker push registry.cn-hangzhou.aliyuncs.com/zjchensrepo/spark:v3.1.1

6. 拉取阿里云仓库中的镜像最后一步就是把阿里云上的image拉取到你想拉取到的任意位置方法也很简单,可以参考仓库中的操作指南,先docker login登录再使用命令拉取docker pull registry.cn-hangzhou.aliyuncs.com/zjchensrepo/spark:v3.1.1

7. 重新tag因为这个时候拉取到本地的镜像名字还不是所需镜像的名字,想要k8s找到镜像,还需要在本地重新对自己仓库中的image进行tag还是用doker tag命令就行,这里不再赘述了四、总结个人感觉镜像问题是困扰k8s学习者的一个很大的问题,我从一开始的只会用阿里的镜像源、到去DockerHub上找其他人的镜像,自己打tag、再到现在自己用google cloud shell拉镜像到自己的仓库里。

虽然这个方法比较麻烦,但是总算是彻底解决了容器镜像的问题了,在这里给自己做个记录,也希望能对其他人有帮助


以上就是关于《使用GoogleCloudShell解决99%的镜像拉取问题(google scholar 镜像不能用)》的全部内容,本文网址:https://www.7ca.cn/baike/4529.shtml,如对您有帮助可以分享给好友,谢谢。
标签:
声明

排行榜