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

前置要求

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

部署

代码

https://github.com/ciiiii/cloudflare-docker-proxy
具体操作主要参考这个项目,首先克隆项目至本地。
假设有自己的域名: 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的方式

经过佬的验证可用

46 个赞

不错! 已赞!

2 个赞

点赞

1 个赞

常规话题软件分享

高级,大善人用法+1

1 个赞

牛,正好需要

1 个赞

大善人要被薅哭了

1 个赞

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

2 个赞

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

1 个赞

:cow: :cow:

1 个赞

标记一下

1 个赞

mark一下

1 个赞

Mirror用法,实测可用!

2 个赞

怎么实用?

1 个赞

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

1 个赞

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

vim /etc/docker/daemon.json

1 个赞

6啊,Mark

1 个赞

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

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

1 个赞

docker.mydomain.com是你自己定义的docker镜像地址,基于自己的域名,三级四级都可以
https://registry-1.docker.io 是DockerHub官方源地址,不用改
Worker跑起来之后,把docker.mydomain.com填进docker配置文件的对应地址,佬给你贴了截图的

1 个赞