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
分享
相关文章
【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析
【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析
278 0
在Linux中,发现⼀个病毒文件删了又自动创建如何解决?
在Linux中,发现⼀个病毒文件删了又自动创建如何解决?
一不留神就掉坑
一不留神就掉坑
76 0
发现一个病毒文件你删了他又自动创建怎么解决
发现一个病毒文件你删了他又自动创建怎么解决
505 0
开机启动实际上有两种情形
开机启动实际上有两种情形
144 0