相信大家在做docker开发的时候,在pull外网仓库的docker image的时候会遇到网络问题。
比较典型的就是gcr.io和quay.io的仓库,docker hub的现在问题已经不明显了,只要你注册一个docker hub的账号,速度虽然慢,还是pull的下来,但是gcr.io就不一样了。
这个是完全没法在国内pull下来的仓库。
网上搜索尝试各种方法,比如什么中科大的镜像仓库,阿里云的镜像仓库,但是都不好使,而且中科大镜像站官网也说明了不再支持了。
还有azk8s.cn等等,这些方法,截至今天2021年3月15号,这些方法已经全部失效。这个是azure的k8s镜像mirror站,azure相关人员也在github上回答了这个问题,说是仅支持azure国内ip使用。
网上也几乎找不到什么更好的方法,难道只能购买一台外网的ecs主机,然后自己搭一个docker hub proxy?或者配置国外的ip代理来pull image?
我想了下,pull image只要在国外就可以了吧,那么是否有什么网站可以帮我们pull image了,于是我搜索了docker playground,果然找到了好东西。
docker playground,可以理解为是一个在线玩docker各种功能的一个网站。
https://labs.play-with-docker.com/
用你注册的docker账号登陆play with docker。
进去之后,新增一个instance,只有4个小时的有效session时间,但是对我们用来pull image已经足够了。
然后你就可以在这个终端直接pull gcr.io的docker image了,由于它们都处在外网,所以速度是很快的。
然后pull下来之后,用docker tag 命令tag成你想要上传的仓库,这里我把他们上传到了我的docker hub上,然后再从我的机器上pull下来。
当然你也可以选择push到你自己的仓库或者阿里云的仓库都是可以的。