在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服务器,享受安全、便捷的网络连接。如果在部署过程中遇到问题,别忘了查阅官方文档或社区资源。祝你好运,安全上网!

相关推荐
北南京海1 分钟前
[Linux]进程地址空间
linux·运维·服务器
yzx9910131 小时前
服务器生成图片
运维·服务器
liulilittle3 小时前
C++ TAP(基于任务的异步编程模式)
服务器·开发语言·网络·c++·分布式·任务·tap
caolib6 小时前
无需云服务器的内网穿透方案 -- cloudflare tunnel
运维·服务器·内网穿透·tunnel·cloudflared
誰能久伴不乏6 小时前
Linux系统调用概述与实现:深入浅出的解析
linux·运维·服务器
程序员学习随笔6 小时前
Linux进程深度解析(2):fork/exec写时拷贝性能优化与exit资源回收机制(进程创建和销毁)
linux·运维·服务器
-SGlow-7 小时前
MySQL相关概念和易错知识点(2)(表结构的操作、数据类型、约束)
linux·运维·服务器·数据库·mysql
代码改变世界ctw7 小时前
Linux内核设计与实现 - 第14章 块I/O层
linux·运维·服务器
Dreams_l8 小时前
网络编程2(应用层协议,传输层协议)
运维·服务器·网络
勇哥的编程江湖8 小时前
starrocks官网docker部署mysql无法连接
运维·docker·容器