type
status
date
summary
slug
tags
category
password
icon
由于某些原因,目前国内无法正常拉取docker镜像,无论是各云服务商还是大学镜像站或加速服务,都在收紧。
本文为利用Cloudflare workers免费服务的流量中转来解决国内无法拉取Docker镜像的问题。

一、前排准备

  1. Cloudflare(以下简称cf)账号
  1. 一个域名,托管到cf

二、部署服务

1. 创建应用程序

进入Workers 和 Pages,再点击概述 - 创建应用程序
notion image

2. 创建 worker

点击创建worker,输入项目名称。成功会显示:您的 Worker 将被部署到:xxxxx
  • 这是cf自动分配的域名,通过该域名就可访问项目
  • cf分配域名目前国内污染打不开,需绑定自己的域名
notion image
输入完名称后点击保存,出现默认的worker.js,点击完成
notion image
notion image

3. 编辑代码(方式二选一)

出现初始界面,点击编辑代码,删掉默认的代码
notion image
notion image
这时有2种代码选择:

① 路由方式

把以下代码复制到里面,并替换workers_url为自己的打算使用的域名

② 域方式

4. 部署

代码修改好后点击部署
notion image
两种方式的代码里面都不含前端web界面,所以预览或直接访问会提示404
  • 因为能保证正常拉取镜像就行,web界面可有可无
notion image

三、绑定域名或配置路由

cf workers`默认使用的是自动分配的域名,目前国内是不可访问,所以需绑定自己的域名
进入项目详细-设置-触发器
notion image

1. 路由方式

如果代码选择路由方式,则点击添加路由。
  • 路由就填写对应的域名地址+/*
    • 例如主域名是bbb.com,想要通过aaa.bbb.com拉取docker,那路由就填写aaa.bbb.com/*
    • 区域选择对应主域名
    • 之后进入dns解析,添加一个对应子域名的解析,例如上面是用aaa.bbb.com,那这里就添加一个对应的ipv4解析记录
    • 解析地址随便填写,填8.8.8.8就可以,然后旁边代理功能的小云朵一定要启用
      • notion image

2. 域方式

  • 如果代码选择域方式,则点击添加自定义域。
    • 域就填写对应的域名地址
      • 例如域名是bbb.com,想要通过aaa.bbb.com拉取docker,那域就填写aaa.bbb.com

四、验证并拉取镜像

如以上步骤都无误,就可直接拉取docker镜像,但需对相应拉取命令做更改
例如:原拉取命令
需在前面加上域名
  • (域方式代码做了修改优化,默认可以去掉/library
当然也可以直接设置docker registry,替换成域名即可

五、其他

  1. cf workers每日总计免费10w次请求额度,普通人几乎不可能用完,但为防止滥用仍建议添加路由和规则限制他人使用
  1. 项目本质是利用cf来进行流量中转,因此受限于cf的速度,如所在地区cf不可用或速度偏低,可选择用服务器搭建对应的中转服务
typecho创建类知识库网站Java项目设为系统服务进行管理
Loading...