什么?Dockerhub Pull不了了!我的解决方案是...

时间:06/17/2024 15:02:59   作者:ChenReal    阅读:14

最近,技术圈发生了一件事情,可能会让大家很难受。 那就是,Dockerhub用!不!了!了!连同各大加速的镜像站也全都熄火了。

以前即便是Github用不了,也没什么问题。大不了用科学上网的方法便能解决。但这回出问题的是Dockerhub,它所关联的可是一堆生产环境的应用呐!总不可能也用同样的方法吧?万一被有关部门找上门了,那就真是“厕所电灯——找屎”了!

解决思路

俗话说得好:“只要思想不滑坡 ,方法总比困难多”。随便搜索了一下,立马收到了来自四面八方的网友送来的攻略。十分感谢!总结起来主要有4种不同的思路:

  • 实际上还有极少数的docker镜像站仍在倔强地存活着,譬如:https://docker.m.daocloud.io。我们可以临时借道用一用,至于能用多久,那就不好说了……我尝试了一下,能用,但有限速,因此建议急性子的朋友,慎入。
  • docker save & docker load命令,以文件转存的方式来安装镜像。这种方法确实也可以,如果是低频更新,比如一年半载才需要搬一次镜像,也还能接受。如果每周都要更新几回,那就非常不人性化了,尤其是享受过Dockerhub的便利之后,估计没人愿意再回到手动搬运文件的原始状态。
  • 自己动手丰衣足食,利用开源代码自己搭建镜像代理服务器。这里不做评价,反正对我是不大合适的。有兴趣的朋友请参考:https://github.com/dqzboy/Docker-Proxy
  • 使用私有Docker镜像仓库,将自己的需要镜像存放在上面。这确实也是个好办法!国内各大云厂商(阿里、腾讯、华为)似乎都有这样的服务。

我的方案

我最终选择的方案是第四个,使用腾讯云扣钉(coding.net)的制品库来制作和存放我的Docker镜像。下面详细介绍一下整个操作步骤:

1、建立代码仓库

首先,创建一个代码仓库,以nginx为例。 创建代码仓库

然后,新建一个Dockerfile文件,然后写入代码:

FROM nginx:latest

最后,提交保存。 新建Dockerfile

新建Dockerfile

Dockerfile内容

2、创建制品仓库

在【制品管理】的模块中,新建一个制品仓库。注意:仓库类型选Docker i制品仓库

3、创建构建计划

在【构建计划】的模块中,创建一个构建计划。模版选择“Docker 镜像推送”。 构建计划

然后,代码仓库选择我们刚刚创建的那个。镜像名称可以自己填 选择代码仓库

推送的制品库选择我们前面所创建的那个即可。 选择制品库

4、构建Docker镜像

点击“立即构建”的图标,在弹出的对话框点“确定”之前,需要填一下tag。 开始构建

整个构建过程大概半分钟左右就能完成。 构建结果

5、使用镜像

回到【制品仓库】,可以找到我们刚才所构建的Docker镜像。 制品仓库

点进去详细页面,复制制品地址 复制制品地址

最后,pull一下试试。

docker pull chenreal-docker.pkg.coding.net/realproj/docker-images/my-nginx:v20240617

不负众望,成功了! 测试结果

 

评论
0/200