# 搭建使用 Cloudflare Worker 的 Docker 镜像

项目地址:GitHub - cmliu/CF-Workers-docker.io

# 前言

由于众所周知的原因,docker 没办法比较好的访问。本文介绍如何使用 Cloudflare Workers 搭建 Docker 代理服务。

于是尝试使用了阿里云的镜像服务,本以为需要注册效果会好点,拉完了镜像才发现镜像是踏马 21 年的镜像....

# 准备

按照本文,您需要

  • 一个域名(需要转给 Cloudflare ),国内域名不行。

  • 一个 Cloudflare 账户(免费)

或者也可以直接用我的服务

https://docker-proxy.twelvelocal.uk/

到本文最后看使用方式

# 绑定域名

# 构建 worker

在 Cloudflare Workers 中创建一个新的 Worker。

起一个比较好听的名字。

这时候就能通过 worker 的域名访问了

但是由于众所周知的问题,这个域名是没办法在没有魔法的机器上访问的。

这就引出了下一步,需要给 worker 绑定一个域名

# 关联 worker 域名

在 Cloudflare 控制台首页选择你的域名。

创建 DNS 记录,输入域名前缀和 IP 地址(IP 地址可以随便填写,关键是 Proxy 需要勾选)。

保存后,添加 Worker 的路由

格式为 xxx.example.com/*

后面这个 /* 不能省略

等待几分钟后,检查是否成功。

出现了。

# 测试连接

linux 访问这个域名老是不成功,尝试配置 Cloudflare 的 DNS

# Linux DNS

echo -e "nameserver 1.1.1.1\nnameserver 1.0.0.1" | sudo tee /etc/resolv.conf

测试命令

# 看 dns 是否能正常使用
$ ping baidu.com
PING baidu.com (39.156.66.10) 56(84) bytes of data.
64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=1 ttl=50 time=9.29 ms
64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=2 ttl=50 time=8.97 ms
# 看能不能连到 worker
$ curl http://docker-rouert.twelvelocal.uk/1
Hello World!

# 更新 worker 代码

复制 https://github.com/cmliu/CF-Workers-docker.io/blob/main/_worker.js 的代码进来,粘贴到代码块,并且更改域名

测试效果

# 使用方式

# 1. 官方镜像路径前面加域名

docker pull docker.fxxk.dedyn.io/stilleshan/frpc:latest
docker pull docker.fxxk.dedyn.io/library/nginx:stable-alpine3.19-perl

# 2. 一键设置镜像加速

修改文件 /etc/docker/daemon.json (如果不存在则创建)

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://docker.fxxk.dedyn.io"]  # 请替换为您自己的Worker自定义域名
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

测试效果

-->