type
status
date
summary
slug
tags
category
password
icon
由于某些原因,目前国内无法正常拉取
docker
镜像,无论是各云服务商还是大学镜像站或加速服务,都在收紧。本文为利用
Cloudflare workers
免费服务的流量中转来解决国内无法拉取Docker
镜像的问题。一、前排准备
- Cloudflare(以下简称cf)账号
- 一个域名,托管到cf
二、部署服务
1. 创建应用程序
进入
Workers 和 Pages
,再点击概述 - 创建应用程序2. 创建 worker
点击创建worker,输入项目名称。成功会显示:您的 Worker 将被部署到:xxxxx
- 这是cf自动分配的域名,通过该域名就可访问项目
- cf分配域名目前国内污染打不开,需绑定自己的域名
输入完名称后点击保存,出现默认的worker.js,点击完成
3. 编辑代码(方式二选一)
出现初始界面,点击编辑代码,删掉默认的代码
这时有2种代码选择:
① 路由方式
把以下代码复制到里面,并替换
workers_url
为自己的打算使用的域名② 域方式
4. 部署
代码修改好后点击部署
两种方式的代码里面都不含前端web界面,所以预览或直接访问会提示404
- 因为能保证正常拉取镜像就行,web界面可有可无
三、绑定域名或配置路由
cf workers`默认使用的是自动分配的域名,目前国内是不可访问,所以需绑定自己的域名
进入项目详细-设置-触发器
1. 路由方式
如果代码选择路由方式,则点击添加路由。
- 路由就填写对应的域名地址+
/*
- 例如主域名是
bbb.com
,想要通过aaa.bbb.com
拉取docker,那路由就填写aaa.bbb.com/*
- 区域选择对应主域名
- 之后进入dns解析,添加一个对应子域名的解析,例如上面是用
aaa.bbb.com
,那这里就添加一个对应的ipv4解析记录 - 解析地址随便填写,填8.8.8.8就可以,然后旁边代理功能的小云朵一定要启用
2. 域方式
- 如果代码选择域方式,则点击添加自定义域。
- 域就填写对应的域名地址
- 例如域名是
bbb.com
,想要通过aaa.bbb.com
拉取docker,那域就填写aaa.bbb.com
四、验证并拉取镜像
如以上步骤都无误,就可直接拉取docker镜像,但需对相应拉取命令做更改
例如:原拉取命令
需在前面加上域名
- (域方式代码做了修改优化,默认可以去掉
/library
)
当然也可以直接设置docker registry,替换成域名即可
五、其他
- cf workers每日总计免费10w次请求额度,普通人几乎不可能用完,但为防止滥用仍建议添加路由和规则限制他人使用
- 项目本质是利用cf来进行流量中转,因此受限于cf的速度,如所在地区cf不可用或速度偏低,可选择用服务器搭建对应的中转服务
- 作者:PH3C
- 链接:https://notion.966699.xyz//article/cf-docker
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章