当前位置:首页 » 《我的小黑屋》 » 正文

Docker Hub 仓库国内无法拉取镜像,如何应对?

4 人参与  2024年10月11日 10:40  分类 : 《我的小黑屋》  评论

点击全文阅读


Docker Hub 仓库国内无法拉取镜像,如何应对?


描述:早上起来发现交流群中有童鞋在说无法在Docker Hub中正常拉取镜像,然后在公司的服务器上拉取最新的nginx:latest镜像发现确实无法拉取。

图片

注册一个阿里云账户

由于前面作者发布过两篇同步国外镜像的技巧,这里融合一下,于是想使用Github Action + Skopeo 工具优雅的同步Docker Hub到阿里云个人镜像仓库中,在从阿里云个人镜像仓库中拉取到公司的私有仓库中不就临时解决此问题了嘛。

如何使用Github Action优雅的同步国外镜像到DockerHub或私有仓库

如何使用Aliyun容器镜像服务对海外gcr、quay仓库镜像进行镜像拉取构建?

简单的说,就是利用Github-Action同步国外镜像到指定的个人Docker hub镜像仓库以及企业在互联网里的私有仓库中。

遂,撸起袖子(拿起键盘⌨)开始动手操作,前提 阿里云账号、Github 账号。

首先,你需要注册一个阿里云账户(没有的情况下),然后访问 https://help.aliyun.com/zh/acr/?source=5176.11533457&userCode=uelj47qf 进行ACR服务订阅,之后点击阿里云控制台,点击左侧的容器镜像服务,进入后点击镜像仓库,如下图所示

图片

注册容器镜像服务图

点击个人实例,自行创建命名空间,此处作者创建的的是weiyigeek,虽然名称可以自定义但是不可以与已存在的命名空间重复,如下图所示

图片

创建命名空间图

点击访问凭证,建议设置固定的凭证(PS:固定密码没有时效限制,请注意妥善保管,如果遗失,可以通过再次设置重置固定密码)

$ sudo docker login --username=阿里云账号名称 registry.cn-hangzhou.aliyuncs.com

图片

设置固定访问密码图

然后,在Github中创建账户以及仓库,此处作者创建的仓库名为images-sysncer,并在目录下创建一个.github/workflows 目录用于存放Github Action 镜像拉取同步脚本,如下图所示

示例仓库:https://github.com/WeiyiGeek/action-sync-images

图片

之后,创建一个sync-image-example.yml其内容,如下所示:

name: Sync Image to Aliyun  Exampleon:  push:    branches: [ "main" ]  pull_request:    branches: [ "main" ]jobs:  build:    runs-on: ubuntu-latest    steps:    - name: Git pull      uses: actions/checkout@v3          - name: Set up Docker Buildx      uses: docker/setup-buildx-action@v2.9.1    - name: Login to Docker Hub      uses: docker/login-action@v2.2.0      with:        registry: registry.cn-hangzhou.aliyuncs.com        username: 阿里云账号        password: 固定访问密码        logout: false            - name: Use Skopeo Tools Sync Image to Docker Hub      run: |         skopeo copy docker://docker.io/hslr/sun-panel:1.4.0 docker://registry.cn-hangzhou.aliyuncs.com/weiyigeek/sun-panel:1.4.0      # 使用 skopeo 工具将镜像同步到阿里云个人仓库中,使用时请自行源和目标修改仓库名称和镜像名称

图片

提交更改,便会触发 Github Action 执行此脚本,点击 action,执行完成后。

图片

最后,我们到阿里云控制台中查看到从docker hub中拉取sun-panel镜像已经成功同步到阿里云ACR仓库中了,并且可以正常的进行拉取到我们内部容器环境中,如下图所示。

图片

从阿里云acr中拉取镜像图

至此,使用 Github Action + Skopeo 工具优雅的同步Docker Hub到阿里云个人镜像仓库中实践完毕,希望大大多多支持!


点击全文阅读


本文链接:http://zhangshiyu.com/post/170426.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1