三分钟!快速解决Dockerhub镜像站无法访问问题!

5,446 阅读3分钟

前言

由于国内镜像源无法正常拉取镜像,有没有一种折中的方案,在这段时间可以正常拉取自己需要的镜像学习。

本文介绍一种快速解决Docker Hub镜像站无法访问的方法。使用开源项目CF-Workers-docker.io通过cloudflare部署进行暂时代理。,可以将Docker Hub的请求中转到一个可信的镜像站,从而解决国内访问问题。

下面介绍下详细的操作流程。

1. cloudflare注册部署

1.1 Cloudflare是什么

Cloudflare是一个全球性的云平台,它为世界各地的各种规模的企业提供广泛的网络服务,从而使企业更加安全,同时提高其关键互联网资产的性能和可靠性。

1.2 如何使用Cloudflare

步骤1: 注册账号

步骤2: github fork 部署项目

步骤3: 部署workers或者pages

  • 注册完成进入网站https://dash.cloudflare.com
  • 点击workers/pages,创建一个workers或者pages都可以,这里以pages为例
  • 新建,名称随意,选择部署的项目源地址,选择github中拉取的项目,其他配置默认,点击开始设置

image.png

image.png

默认保存即可,保存并部署,这里需要一定的时间

image.png

完成后

image.png

image.png

点击

image.png

即可跳转docker hub

image.png

步骤4: 可以自定义域名

  • 在设置完成后,Cloudflare会提供域名,可以设置成自己的。

步骤5: 等待生效

  • 更改域名服务器后,DNS更新可能需要几分钟或几小时才能生效。

2. 设置镜像源

2.1 本地设置

  1. 使用docker pull 部署的域名/gitlab/gitlab-ce

image.png 2. 设置全局的镜像源,不需要每次添加域名,直接docker pull gitlab/gitlab-ce

如何设置全局的镜像:

如果有客户端,可以使用docker desktop进行设置,在设置中的Docker Engine,进行设置,添加以下内容:

{
  "registry-mirrors": [
    "部署的域名"
  ]
}

image.png 修改后重启。

再使用docker pull xxx拉取镜像:

image.png

2.2 服务器设置

服务器安装docker后,可在/etc/docker/daemon.json中进行配置。

{
    "registry-mirrors": [
        "https://docker.registry.cyou",
        "https://docker-cf.registry.cyou",
        "https://dockercf.jsdelivr.fyi",
        "https://docker.jsdelivr.fyi",
        "https://dockertest.jsdelivr.fyi"
      ]
}

常用命令:

sudo systemctl start docker     #运行Docker守护进程
sudo systemctl stop docker      #停止Docker守护进程
sudo systemctl restart docker   #重启Docker守护进程
sudo systemctl enable docker    #设置Docker开机自启动
sudo systemctl status docker    #查看Docker的运行状态

重启下进行拉取:

image.png

3. 总结

最后总结一下:通过开源项目CF-Workers-docker.io部署到使用Cloudflare,解决国内无法访问Docker Hub的问题的方法。

具体步骤:

  1. 注册Cloudflare账号
  2. Fork并使用Workers或Pages部署项目
  3. 获取Cloudflare的域名
  4. 本地设置/服务器设置设置Docker镜像源
  5. 服务器设置Docker镜像源
  6. 拉取镜像

通过这种方法,可以有效暂时解决国内无法访问Docker Hub的问题,确保开发者可以顺利拉取所需的Docker镜像进行学习和开发工作。这种方案既比较简单快捷。希望本文的方法能够帮助大家。

如有错误,请指正O^O!


相关系列文章:Docker部署nginx发布前端项目