使用 Docker 在 Ubuntu 下部署 Cloudflared Tunnel 服务器

在现代互联网中,安全和隐私是至关重要的。Cloudflared Tunnel 是 Cloudflare 提供的一种安全隧道解决方案,可以帮助你安全地将本地服务暴露到互联网,而无需暴露你的服务器 IP 地址。通过 Docker 部署 Cloudflared Tunnel,不仅简化了安装过程,还能轻松管理和更新服务。

简要介绍

Docker 是一款开源的容器化平台,它允许开发者将应用及其依赖打包成一个标准化的单元,称为容器。容器在任何环境中都能快速部署,确保应用的一致性和可移植性。

Cloudflared 是 Cloudflare 提供的一个命令行工具,用于创建与 Cloudflare 网络的安全连接。通过 Cloudflared Tunnel,你可以将本地服务通过 Cloudflare 安全地暴露给互联网,保护你的服务器不被直接访问。

在 Ubuntu 下通过 Docker 部署 Cloudflared Tunnel 的步骤

步骤 1: 安装 Docker

如果你的系统还没有安装 Docker,使用以下命令进行安装:

sudo apt update
sudo apt install docker.io -y
sudo systemctl start docker
sudo systemctl enable docker

步骤 2: 拉取 Cloudflared 镜像

使用以下命令拉取 Cloudflared 的 Docker 镜像:

sudo docker pull cloudflare/cloudflared

步骤 3: 创建配置文件

在你的主目录下创建一个配置文件 config.yml,内容如下:

tunnel: <YOUR_TUNNEL_ID>
credentials-file: /etc/cloudflared/<YOUR_TUNNEL_ID>.json

ingress:
  - hostname: <YOUR_HOSTNAME>
    service: http://localhost:<YOUR_LOCAL_SERVICE_PORT>
  - service: http_status:404

参数说明

  • <YOUR_TUNNEL_ID>: 你的 Cloudflare 隧道 ID,可以在 Cloudflare 控制面板找到。
  • <YOUR_HOSTNAME>: 你希望通过 Cloudflare 访问的域名。
  • <YOUR_LOCAL_SERVICE_PORT>: 本地服务的端口,例如 8080。

步骤 4: 运行 Cloudflared Tunnel

使用以下命令运行 Cloudflared Tunnel:

sudo docker run -d --name cloudflared \
  -v /etc/cloudflared:/etc/cloudflared \
  cloudflare/cloudflared tunnel --config /etc/cloudflared/config.yml run

步骤 5: 验证服务

确保 Cloudflared Tunnel 正在运行,可以使用以下命令查看状态:

sudo docker logs cloudflared

如果一切正常,你应该能够通过你的域名访问本地服务。

总结

通过 Docker 部署 Cloudflared Tunnel 是一种高效且安全的方法,将你的本地服务公开到互联网。只需几个简单的步骤,你就能享受到 Cloudflare 的强大保护,确保你的应用安全无虞。别忘了定期更新 Docker 镜像和 Cloudflared,保持服务的安全性和稳定性。

### 使用 Docker 安装和配置 Cloudflare 相关服务 #### 启动并配置 Docker 环境 为了确保 Docker 已经正确安装并且能够自动启动,在 Ubuntu 中可以执行如下命令来开启 Docker 服务以及设定其随系统启动而运行: ```bash sudo systemctl start docker sudo systemctl enable docker ``` #### 创建 Cloudflare Tunnel 对于希望通过 Docker 来部 Cloudflared Tunnel 的情况,按照官方指导完成必要的操作即可[^1]。 #### 设置私有 Docker 镜像仓库加速器 如果目标是利用 Cloudflare 构建个人专属的 Docker 镜像源,则需先调整 `/etc/docker/daemon.json` 文件中的 `registry-mirrors` 参数指向自定义地址。当该文件不存在时应手动创建它,并加入相应的 JSON 数据结构指定镜像源URL。之后记得重启 Docker 使更改生效: ```json { "registry-mirrors": [ "https://xxx.域名.com" ] } ``` 接着通过下面这条指令让修改后的配置立即应用到当前会话中去: ```bash sudo service docker restart ``` 最后可以通过查询 Docker 运行状态的方式确认新的镜像源已经被采纳: ```bash sudo docker info | grep Mirrors -A 1 ``` #### 利用 Cloudflare Workers 实现 Docker Hub 加速 另外一种方案则是借助于 Cloudflare Workers 提供的服务端无服务器函数特性来自行为国内用户提供更快捷稳定的访问速度。这通常涉及到注册一个合适的顶级域名并通过 DNS 解析托管给 Cloudflare 处理[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值