在Ubuntu下通过Docker部署Cloudflared Tunnel服务器

嘿,朋友们,今天咱们来探讨如何在Ubuntu上通过Docker部署Cloudflared Tunnel服务器。想在互联网的海洋中安全航行?Cloudflared可以是你的小船,带你避开风浪!

Docker与Cloudflared Tunnel简介

Docker是一个开源的容器化平台,允许你将应用及其依赖打包成独立的容器,轻松在不同环境中运行。它的灵活性和可移植性使得开发者能够快速部署和管理应用,特别适合现代云计算环境。

Cloudflared Tunnel是Cloudflare提供的一个工具,允许用户通过Cloudflare的网络安全地访问本地服务。它能够将你的本地应用安全地暴露到公网上,同时保护你的服务免受DDoS攻击和恶意访问。使用Cloudflared,你可以简化网络配置,提升安全性,真正实现"隐形"上网。

在Ubuntu下通过Docker部署Cloudflared Tunnel服务器

步骤 1:安装Docker

确保你的Ubuntu系统上安装了Docker。可以使用以下命令进行安装:

复制代码
sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker

步骤 2:创建Cloudflared配置文件

在你的主目录下创建一个文件夹来存放Cloudflared的配置:

复制代码
mkdir ~/cloudflared
cd ~/cloudflared

然后创建一个名为config.yml的文件,内容如下:

复制代码
tunnel: your-tunnel-id
credentials-file: /etc/cloudflared/your-tunnel-id.json

ingress:
  - hostname: yourdomain.com
    service: http://localhost:8080
  - service: http_status:404

参数解析:

  • tunnel:你的Cloudflare隧道ID。
  • credentials-file:Cloudflare提供的凭证文件路径。
  • ingress:定义了流量的入口规则。hostname是你希望通过Cloudflare访问的域名,service是本地服务的地址。

步骤 3:拉取Cloudflared镜像

现在,我们来拉取Cloudflared的Docker镜像:

复制代码
sudo docker pull cloudflare/cloudflared:latest

步骤 4:运行Cloudflared Tunnel

使用以下命令启动Cloudflared Tunnel:

复制代码
sudo docker run -d --name cloudflared \
  -v ~/cloudflared/config.yml:/etc/cloudflared/config.yml \
  -v ~/cloudflared/your-tunnel-id.json:/etc/cloudflared/your-tunnel-id.json \
  cloudflare/cloudflared:latest tunnel run

参数解析:

  • -d:让容器在后台运行。
  • --name cloudflared:给容器命名为cloudflared。
  • -v:将本地配置文件挂载到容器内的对应路径。

步骤 5:验证Cloudflared Tunnel

要验证Cloudflared Tunnel是否成功运行,可以使用以下命令查看容器状态:

复制代码
sudo docker ps

如果看到cloudflared在运行,那就成功了!你可以通过访问http://yourdomain.com来测试是否能够正常连接到本地服务。

步骤 6:停止和删除容器

如果你需要停止Cloudflared,可以使用:

复制代码
sudo docker stop cloudflared

要删除容器,可以使用:

复制代码
sudo docker rm cloudflared

总结

通过这些步骤,你就可以在Ubuntu上通过Docker轻松部署Cloudflared Tunnel服务器,享受安全、便捷的网络连接。如果在部署过程中遇到问题,别忘了查阅官方文档或社区资源。祝你好运,安全上网!

相关推荐
9624569 分钟前
一次 Dell PowerEdge R750xs 启动故障复盘:从 iDRAC 带外管理到 Linux 多内核回退与 initramfs 重建
linux·运维·服务器
Ruiery1 小时前
Linux 6.6内核 CPU 深度解析(零):x86 内核引导协议 — 从 bootloader 到 main()
linux·运维·服务器
Ruiery1 小时前
Linux 6.6内核 CPU 深度解析(十六):x86 保护机制 — 从 ring 到页表的权限防线
linux·运维·服务器
骑着蜗牛撵大象3272 小时前
飞牛fnOS部署Damselfly:Compose编排、照片目录与7100固定访问
java·docker·rpc·dubbo·fnos·照片管理·damselfly
贵州诚鑫致达科技有限公司2 小时前
PHP两个9.2分RCE漏洞,速查版本
服务器·php·1024程序员节
一掬净土2 小时前
kubelet 报错如下:docker does not support reopening container log files
docker·云原生·kubelet·logfiles
织码weavecodes3 小时前
医疗、零售、物业培训怎么落地?织码在线教育系统的三类行业案例
运维·服务器·零售
乔旭伟3 小时前
部署形态选型笔记:多租户 SaaS 与单机本地部署的运维模型对比
运维·服务器·1024程序员节
虚无的纽扣3 小时前
【Linux】线程互斥:多线程改同一个变量,到底会出什么问题
linux·服务器·1024程序员节
Shadow(⊙o⊙)4 小时前
LangChain 自定义工具全解析:从 @tool 到 bind_tools 的完整调用链路
java·服务器·前端·1024程序员节