前言
由于国内镜像源无法正常拉取镜像,有没有一种折中的方案,在这段时间可以正常拉取自己需要的镜像学习。
本文介绍一种快速解决Docker Hub镜像站无法访问的方法。使用开源项目CF-Workers-docker.io通过cloudflare部署进行暂时代理。,可以将Docker Hub的请求中转到一个可信的镜像站,从而解决国内访问问题。
下面介绍下详细的操作流程。
1. cloudflare注册部署
1.1 Cloudflare是什么
Cloudflare是一个全球性的云平台,它为世界各地的各种规模的企业提供广泛的网络服务,从而使企业更加安全,同时提高其关键互联网资产的性能和可靠性。
1.2 如何使用Cloudflare
步骤1: 注册账号
- 访问Cloudflare官方网站www.cloudflare.com, 使用github账号登录注册。
步骤2: github fork 部署项目
- 去github forkCF-Workers-docker.io项目
步骤3: 部署workers或者pages
- 注册完成进入网站https://dash.cloudflare.com
- 点击workers/pages,创建一个workers或者pages都可以,这里以pages为例
- 新建,名称随意,选择部署的项目源地址,选择github中拉取的项目,其他配置默认,点击开始设置
默认保存即可,保存并部署,这里需要一定的时间
完成后
点击
即可跳转docker hub
步骤4: 可以自定义域名
- 在设置完成后,Cloudflare会提供域名,可以设置成自己的。
步骤5: 等待生效
- 更改域名服务器后,DNS更新可能需要几分钟或几小时才能生效。
2. 设置镜像源
2.1 本地设置
- 使用
docker pull 部署的域名/gitlab/gitlab-ce
2. 设置全局的镜像源,不需要每次添加域名,直接docker pull gitlab/gitlab-ce
如何设置全局的镜像:
如果有客户端,可以使用docker desktop进行设置,在设置中的Docker Engine
,进行设置,添加以下内容:
{
"registry-mirrors": [
"部署的域名"
]
}
修改后重启。
再使用docker pull xxx
拉取镜像:
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的运行状态
重启下进行拉取:
3. 总结
最后总结一下:通过开源项目CF-Workers-docker.io部署到使用Cloudflare,解决国内无法访问Docker Hub的问题的方法。
具体步骤:
- 注册Cloudflare账号:
- Fork并使用Workers或Pages部署项目:
- 获取Cloudflare的域名:
- 本地设置/服务器设置设置Docker镜像源:
- 服务器设置Docker镜像源:
- 拉取镜像:
通过这种方法,可以有效暂时解决国内无法访问Docker Hub的问题,确保开发者可以顺利拉取所需的Docker镜像进行学习和开发工作。这种方案既比较简单快捷。希望本文的方法能够帮助大家。
如有错误,请指正O^O!
相关系列文章:Docker部署nginx发布前端项目