又发掘一个CF的新用法,利用Worker构建Docker Registry Mirror

前置要求

  • 有一个自己的域名且托管至Cloudflare

部署

代码

具体操作主要参考这个项目,首先克隆项目至本地。
假设有自己的域名: mydomain.com,根据实际情况替换为自己的域名。

修改 src/index.js

const routes = {
  "docker.mydomain.com": "https://registry-1.docker.io",
  "quay.mydomain.com": "https://quay.io",
  "gcr.mydomain.com": "https://gcr.io",
  "k8s-gcr.mydomain.com": "https://k8s.gcr.io",
  "k8s.mydomain.com": "https://registry.k8s.io",
  "ghcr.mydomain.com": "https://ghcr.io",
  "cloudsmith.mydomain.com": "https://docker.cloudsmith.io",
};

修改 wrangler.toml,自动将Worker绑定至自己的域名,并自动添加SSL证书

name = "cloudflare-docker-proxy"
workers_dev = true
main = "src/index.js"
compatibility_date = "2021-12-07"
+ routes = [
+     { pattern = "docker.mydomain.com", custom_domain = true },
+     { pattern = "quay.mydomain.com", custom_domain = true },
+     { pattern = "gcr.mydomain.com", custom_domain = true },
+     { pattern = "k8s-gcr.mydomain.com", custom_domain = true },
+     { pattern = "k8s.mydomain.com", custom_domain = true },
+     { pattern = "ghcr.mydomain.com", custom_domain = true },
+     { pattern = "cloudsmith.mydomain.com", custom_domain = true },
+ ]

部署

wrangler的安装和使用参考:GitHub - zgimszhd61/cloudflare-quickstart

输入命令,起飞~

wrangler deploy

使用

- docker pull busybox:stable
+ docker.mydomain.com/library/busybox:stable
- docker pull ginuerzh/gost:latest
+ docker.mydomain.com/ginuerzh/gost:latest

修改Docker Mirror的方式

经过佬的验证可用

44 个赞

不错! 已赞!

1 个赞

点赞

常规话题软件分享

高级,大善人用法+1

牛,正好需要

大善人要被薅哭了

如果你想要很多的worker流量,可以注册小号并通过账号设置邀请成员(小号)进去
mark一下

还有这种操作,回头研究下

1 个赞

好好好,我正想发帖询问相关的事情

:cow: :cow:

标记一下

mark一下

Mirror用法,实测可用!

1 个赞

怎么实用?

Mirror用法怎么用 我部署了一个 是换成
image
这里面的?

Docker的镜像加速,填写CF搭建好的域名

vim /etc/docker/daemon.json

6啊,Mark

mark: [利用Worker构建Docker Registry Mirror]

docker.mydomain.com”: “https://registry-1.docker.io” 是这个docker.mydomain.com还是workers再自定一个域名