使用 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,保持服务的安全性和稳定性。

相关推荐
lichenyang45318 小时前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang45318 小时前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang45318 小时前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang45318 小时前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
XIAOHEZIcode19 小时前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
Patrick_Wilson5 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy6 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭6 天前
运行你的第一个Docker容器
后端·docker·容器
宋均浩7 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
程序员老赵7 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程