DockerHub被禁掉的应对之法

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 在DockerHub被禁用或访问受限的情况下,可以选择使用其他公共镜像仓库、本地私有镜像仓库或镜像加速器。这些替代方案不仅能够保证容器化应用的正常运行,还可以根据具体需求提供不同的功能和服务。确保按照文档和指南进行配置,以实现最佳效果和性能。

DockerHub被禁用后的应对方案

1. 使用其他镜像仓库

如果DockerHub无法访问,可以考虑使用其他公共或私有的镜像仓库。以下是一些流行的替代品:

1.1 阿里云镜像仓库

阿里云提供高可用性的容器镜像服务,可以作为DockerHub的替代品。

  • 注册并登录阿里云账号
  • 创建镜像仓库:在阿里云容器镜像服务(Container Registry)中创建新的镜像仓库。
  • 推送镜像:将本地镜像推送到阿里云镜像仓库。
docker login --username=your-username registry.cn-hangzhou.aliyuncs.com
docker tag your-image:tag registry.cn-hangzhou.aliyuncs.com/your-repo/your-image:tag
docker push registry.cn-hangzhou.aliyuncs.com/your-repo/your-image:tag
AI 代码解读

1.2 腾讯云镜像仓库

腾讯云也提供类似的容器镜像服务。

  • 注册并登录腾讯云账号
  • 创建镜像仓库:在腾讯云容器镜像服务中创建新的镜像仓库。
  • 推送镜像:将本地镜像推送到腾讯云镜像仓库。
docker login --username=your-username ccr.ccs.tencentyun.com
docker tag your-image:tag ccr.ccs.tencentyun.com/your-repo/your-image:tag
docker push ccr.ccs.tencentyun.com/your-repo/your-image:tag
AI 代码解读

1.3 GitHub Container Registry

GitHub Container Registry是GitHub提供的容器镜像服务,集成了GitHub的CI/CD流程。

  • 登录GitHub账号
  • 创建GitHub Actions workflow:自动构建和推送镜像到GitHub Container Registry。
name: Publish Docker image

on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - name: Check out the code
      uses: actions/checkout@v2
    - name: Log in to the Container registry
      run: echo "$<ruby>secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${
  { github.actor }} --password-stdin
    - name<rp> (</rp><rt>Build the Docker image
      run: docker build -t ghcr.io/${
  { github.repository</rt><rp>) </rp></ruby>/my-image:latest .
    - name: Push the Docker image
      run: docker push ghcr.io/${
  { github.repository }}/my-image:latest
​
AI 代码解读

2. 设置本地镜像仓库

如果需要完全自主控制镜像,可以搭建本地私有镜像仓库。

2.1 使用Docker Registry

Docker Registry是Docker官方提供的开源镜像仓库。

  • 启动Docker Registry
docker run -d -p 5000:5000 --name registry registry:2
AI 代码解读
  • 推送镜像到本地Registry
docker tag your-image:tag localhost:5000/your-image:tag
docker push localhost:5000/your-image:tag
AI 代码解读

2.2 使用Harbor

Harbor是一个企业级的Docker镜像仓库,由VMware开源。

  • 安装Harbor:可以通过Harbor官网(goharbor.io)下载并安装。
  • 配置和启动Harbor:按照官方文档进行配置和启动。
  • 推送镜像到Harbor:与Docker Registry的操作类似。

3. 使用镜像加速器

为了加快镜像的拉取速度,可以使用镜像加速器。国内的一些云服务商提供了镜像加速服务。

3.1 阿里云加速器

  • 配置Docker加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://<your-mirror>.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
​
AI 代码解读

3.2 腾讯云加速器

  • 配置Docker加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
​
AI 代码解读

思维导图

- DockerHub被禁用后的应对方案
  - 使用其他镜像仓库
    - 阿里云镜像仓库
    - 腾讯云镜像仓库
    - GitHub Container Registry
  - 设置本地镜像仓库
    - 使用Docker Registry
    - 使用Harbor
  - 使用镜像加速器
    - 阿里云加速器
    - 腾讯云加速器
​
AI 代码解读

结论

在DockerHub被禁用或访问受限的情况下,可以选择使用其他公共镜像仓库、本地私有镜像仓库或镜像加速器。这些替代方案不仅能够保证容器化应用的正常运行,还可以根据具体需求提供不同的功能和服务。确保按照文档和指南进行配置,以实现最佳效果和性能。

相关实践学习
通过容器镜像仓库与容器服务快速部署spring-hello应用
本教程主要讲述如何将本地Java代码程序上传并在云端以容器化的构建、传输和运行。
Kubernetes极速入门
Kubernetes(K8S)是Google在2014年发布的一个开源项目,用于自动化容器化应用程序的部署、扩展和管理。Kubernetes通常结合docker容器工作,并且整合多个运行着docker容器的主机集群。 本课程从Kubernetes的简介、功能、架构,集群的概念、工具及部署等各个方面进行了详细的讲解及展示,通过对本课程的学习,可以对Kubernetes有一个较为全面的认识,并初步掌握Kubernetes相关的安装部署及使用技巧。本课程由黑马程序员提供。 &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情:&nbsp;https://www.aliyun.com/product/kubernetes
目录
打赏
0
20
21
0
448
分享
相关文章
openWRT软路由AdGuardHome 未运行 未重定向无法更新核心解决办法
openWRT软路由AdGuardHome 未运行 未重定向无法更新核心解决办法
10468 0
【Azure Event Hub】诡异现象之Event Hub无法删除的根源
Kafka客户端自带属性auto.create.topics.enable = true,它会默认创建Event Hub(Topic)
【Azure Event Hub】诡异现象之Event Hub无法删除的根源
【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析
【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析
278 0
在K8S中,如果是因为开发写的镜像问题导致pod起不来该怎么排查?
在K8S中,如果是因为开发写的镜像问题导致pod起不来该怎么排查?
在Linux中,发现⼀个病毒文件删了又自动创建如何解决?
在Linux中,发现⼀个病毒文件删了又自动创建如何解决?
【紧急】继续折腾,Log4j再发2.16.0,强烈建议升级
由于SLF4J适配兼容性的中断,Log4j 现在发布两个版本的SLF4J to Log4j的适配器。log4j-slf4j-impl对应 SLF4J 1.7.x 及更早版本;log4j-slf4j18-impl对应SLF4J 1.8.x 及更高版本一起使用。SLF4J-2.0.0 alpha 版本目前还不完全支持。
315 0
kindle 应用程序出错,无法启动选定的应用程序,请重试。问题排查过程及处理方案。...
kindle 应用程序出错,无法启动选定的应用程序,请重试。问题排查过程及处理方案。...
614 0
网站被黑入侵被挂马后跳转如何解决处理掉跳转代码?
网站被黑入侵被挂马后跳转如何解决处理掉跳转代码?
342 0
网站被黑入侵被挂马后跳转如何解决处理掉跳转代码?
发现一个病毒文件你删了他又自动创建怎么解决
发现一个病毒文件你删了他又自动创建怎么解决
505 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等