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

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  Example

on:
  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到阿里云个人镜像仓库中实践完毕,希望大大多多支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/872154.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android平台RTSP|RTMP播放器(SmartPlayer)集成必读

技术背景 好多开发者拿到大牛直播SDK的Android平台RTSP、RTMP播放模块,基本上不看说明,测试后,就直接集成到自己系统了。不得不说,我们的模块虽然接口很多,功能支持全面,但是上层的demo设计逻辑确实简单&a…

安装Android Studio及第一个Android工程可能遇到的问题,gradle下载过慢、sync失败?

Android Studio版本众多,电脑操作系统、电脑型号、电脑硬件也是多种多样,幸运的半个小时内可以完成安装,碰到不兼容的电脑,一天甚至更长时间都无法安装成功。 Android安装及第一个Android工程分为4个步骤,为什么放到一…

echarts进度

echarts图表集 const data[{ value: 10.09,name:制梁进度, color: #86C58C,state: }, { value: 66.00,name:架梁进, color: #C6A381 ,state:正常}, { value: 33.07,name:下部进度, color: #669BDA,state:正常 }, ];// const textStyle { "color": "#CED6C8&…

【whisper】使用whisper实现语音转文字

whisper需要ffmpeg支持 官网下载ffmpeg https://www.gyan.dev/ffmpeg/builds/下载完毕后解压放到合适的位置 添加环境变量 在cmd中输入以下 ffmpeg -version出现下面结果代表成功 安装whisper pip install openai-whisper在vscode中运行 测试代码 import whisperif __n…

SAP 生产订单工序删除状态撤回简介

SAP 生产订单工序删除状态撤回简介 一、业务场景二、处理办法三、系统控制一、业务场景 生产订单正常没有按工序分配物料,系统会自动会把物料分配到第一道工序中 生产订单中的0010工序中对应的组件的栏位被标识,表示有物料分配到了0010的工序中,正常情况下0010的工序被分配…

软件测试基础面试题11问(带答案)

1、编写测试用例有哪些? 答:等价类、边界值、错误推测法、场景法,我个人常用的方法就是这些 2、Beta测试与Alpha测试的区别? 答:两者的主要区别是测试的场所不同。Alpha测试是指把用户请到开发方的场所来测试,beta测试…

Tomato靶场渗透测试

1.扫描靶机地址 可以使用nmap进行扫描 由于我这已经知道靶机地址 这里就不扫描了 2.打开网站 3.进行目录扫描 dirb http://172.16.1.113 发现有一个antibot_image目录 4.访问这个目录 可以看到有一个info.php 5.查看页面源代码 可以发现可以进行get传参 6.…

C#文件的输入和输出

一个文件是一个存储在磁盘中带有指定名称和目录路径的数据集合.当打开文件进行读写时,它变成一个流.从根本上说,流是通过通信路径传递的字节序列.有两个主要的流:输入流和输出流.输入流用于从文件读取数据,输出流用于向文件写入数据. C#I/O类 System.IO命名空间有各种不同的类…

Unity Xcode方式接入sdk

入口 创建 GameAppController 类 继承 UnityAppController 并且在类的实现之前 需要 加 IMPL_APP_CONTROLLER_SUBCLASS(GameAppController),表明这个是程序的入口。UnityAppController 实现了 UIApplicationDelegate。 可以简单看下 UIApplicationDelegate 的生命周…

拍卖新纪元:Spring Boot赋能在线拍卖解决方案

需求分析 1.1技术可行性:技术背景 在线拍卖系统是在Windows操作系统中进行开发运用的,而且目前PC机的各项性能已经可以胜任普通网站的web服务器。系统开发所使用的技术也都是自身所具有的,也是当下广泛应用的技术之一。 系统的开发环境和配置…

docker实战基础一 (Docker基础命令)

一、docker安装 # step 1: 安装必要的一些系统工具 yum install -y yum-utils device-mapper-persistent-data lvm2 # Step 2: 添加软件源信息 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # Step 3: 更新并安装 Doc…

Spring Boot:医疗排班系统开发的技术革新

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

windows安装php7.4

windows安装php7.4 1.通过官网下载所需的php版本 首先从PHP官网(https://www.php.net/downloads.php)或者Windows下的PHP官网(http://windows.php.net/download/)下载Windows版本的PHP安装包。下载后解压到一个路径下。 2.配…

从PDF到CAD:四大必备转换工具推荐!

无论是建筑设计师还是机械工程师,都面临着将旧图纸或扫描件转换成可编辑CAD文件的任务。这不仅是为了提高工作效率,更是为了适应数字化转型的大趋势。今天,我们就来探索几款高效且用户友好的解决方案! 福昕PDF转换大师&#xff0…

深入理解GAN网络

Generative Adversarial Networks创造性地提出了对抗训练来代替人工指定的loss。之前的文章初步理解了一下,感觉还是不到位,在这里再稍微深入一点。 交叉熵cross entropy 鉴别器是GAN中重要的一部分,鉴别器和生成器交替训练的过程就是adver…

PCL 移动立方体三维重建——RBF算法【2024最新版】

目录 一、算法原理1、算法概述2、参考文献二、代码实现三、结果展示四、相关链接本文由CSDN点云侠原创,原文链接,首发于:2024年9月1日。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法原理 1、算法概述 该算法实现的是Reconstruction a…

微信小程序服务器费用一年多少?微信小程序开发

在互联网时代,微信小程序已成为众多企业和个人拓展业务、提升服务品质的有力工具。然而对于许多准备涉足小程序领域的朋友来说【开发一个小程序大概需要多少钱】以及【微信小程序服务器费用一年需要多少】是首要关注的问题,今天飞飞将和你们分享小程序服…

OPenCV结构分析与形状描述符(3)计算一个点集的最小外接矩形的函数boundingRect()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 计算一个点集的最小右上边界矩形或灰度图像中的非零像素。 该函数计算并返回指定点集或灰度图像中非零像素的最小右上边界矩形。 在OpenCV中&am…

ardupilot开发 --- MQTT 篇

原图:ardupilot-onboardComputer-4Glink-console.drawio 白嫖党请点赞、收藏、关注 你说在一起要算命 前言参考文献 前言 为什么在ardupilot开发过程中要用到MQTT ? 客户要求向他们的指挥中心平台推送视频流和飞控数据,即要将图数传数据推送给…

LTM4622双路电源芯片的相关测试

最近需要使用LTM4622电源芯片,所以做了demo板进行测试: 1.原理图如下: 2.用AD画的电路板如下: 3.芯片相关知识: 芯片的封装: 典型应用: 管脚定义 VIN:电源的输入管脚。 RUN:相当于输出使能脚…