谷歌k8s.gcr.io镜像快速传入阿里云镜像源的解决方案(需浏览器科学上网)Google k8s.gcr.io图片快速转移到阿里云图片源的解决方案(需要浏览器科学上网)在kubernetes系统中,很多图片都是来自k8s.gcr.io图片源,可惜在国内无法直接访问,所以如果没有科学的互联网接入,只能上网搜索,看看有没......
在kubernetes系统中,很多图片都是来自k8s.gcr.io图片源,可惜在国内无法直接访问,所以如果没有科学的互联网接入,只能上网搜索,看看有没有别人提供的本地图片。比如阿里云图片源上有很多图片(作者之前也是这么用的。如果在网上找不到,可以注册一个阿里云账号,直接在阿里云图片源搜索,一定能找到。有吗换句话说,这个问题还是不错的。图片会包含一些非法内容和一些恶意程序吗如果是这样,那就是大事了。当然,我们可以通过图像的sha256信息来验证这个图像是否与Google的原声图像一致,但遗憾的是,我找到的阿里云图像很少与Google的图像一致。可能他们没有直接传输Google的图片,而是通过github编译上传(写这篇文章的时候我发现了另外一个原因,可能是因为阿里的容器图片服务源不是docker v2,或者docker版本不是v1.10+,导致Google和阿里库中的图片manifest的结构不一致,所以有时候对于一些特殊配置的图片,摘要和阿里的不一样。关于摘要的生成原理,详见本文中Docker的拉式摘要和图像ID(https://www.jianshu.com/p/716096892100)。另外,通过下面暂停的例子:3.1图像,可以看出Digest会有所不同。但是我上传其他图片如cadvisor和metricsserveramd64就没有这个问题,所以具体原因也和图片配置有关。见下表)。
为了规避上述风险,本文为您提供了一种方便快捷的相互传输和镜像的方法,只需要浏览器支持爬墙,即不需要构建docker本地服务,也不需要有docker服务的机器来爬墙。不赘述,只说步骤:
首先浏览器要翻墙,登录Google Cloud,登录控制台。
点击激活云壳,如下图。
云壳的使用,你可以看看官方的说明,其实就是一个免费的壳控制台,一个你可以随时使用的小服务器。
[/S2/]创建成功,如下图所示。
默认支持docker,可以看到版本是18.03.1ce。(写这篇文章的时候,发现阿里云也有云壳,可惜没有docker支持,无法翻墙。)
以k8s.gcr.io/pause:3.1为例,先Docker拉k8s.gcr.io/pause:3.1(云壳支持ctrl+c/v复制粘贴,可以完整复制这个命令,是一个强大的shell工具)
码头工人拉k8s.gcr.io/pause:3.1
可以看到sha256是f 78411 e 19d 84 a 252 e 53 BFF 71 a 407 a 5686 c 46983 a2 C2 eed 83929 b 88179 AEA。
在果壳中登录自己的阿里云图片源图片库,按照阿里云的操作指南登录。
Docker登录用户名= registry.cnhangzhou.aliyuncs.com XXXX(你的阿里云账户)
系统将提示您输入密码。成功输入后,将显示登录成功。
这时,你可以docker标记你想要使用的名称空间的名称。我的名称空间是何新公共的,所以我的命令如下
码头工人标签k8s.gcr.io/pause:3.1·registry.cnhangzhou.aliyuncs.com/hexinpublic/pause:3.1
docker推就够了。
码头工人推registry.cnhangzhou.aliyuncs.com/hexinpublic/pause:3.1
可以看到,阿里云映像返回的摘要是sha 256:fcaff 905397 ba 63 FD 376 d0c 3019 f1 CB 6 e 7506131389 ed BCB 3d 22719 f1 AE 54d。如果你统一来看,你会发现它们其实是同一个形象。
现在来看,唯一的原因只能是我上面提到的情况。当然,digest并不适用于所有镜像,比如Google的cadivsor和metricsserveramd64,所以不会。
但是,这不是本文的重点。重点是如何快速把需要翻墙的外国图像传到中国。国内阿里云图片来源的使用在这里就不多说了。你可以登录阿里云来使用它们。希望这篇文章对大家有帮助
特别声明:以上文章内容仅代表作者本人观点,不代表ESG跨境电商观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与ESG跨境电商联系。
二维码加载中...
使用微信扫一扫登录
使用账号密码登录
平台顾问
微信扫一扫
马上联系在线顾问
小程序
ESG跨境小程序
手机入驻更便捷
返回顶部