在Dokploy中通过Cloudflare Tunnel发布应用

通过 Cloudflare Tunnel,你可以不需要公网 IP、不需要在路由器/防火墙开启 80 或 443 端口,就能安全地将 Dokploy 上的应用发布到互联网。 核心流程图 用户 -> Cloudflare 域名 (HTTPS) -> Cloudflare 隧道 -> Docker 内部网络 (HTTP) -> 你的应用容器 第一步:在 Cloudflare 创建隧道 (Tunnel) 登录 Cloudflare Zero Trust。 进入 Networks -> Tunnels -> Create a Tunnel。 选择 Cloudflared,起个名字(如 my-server)。 在安装页面,找到 Connector Token(那一长串字符串),复制备用。 第二步:在 Dokploy 中部署隧道服务 在 Dokploy 中新建一个 Compose 服务(建议命名为 cloudflare-tunnel),使用以下配置: services: cloudflared: image: 'docker.1ms.run/cloudflare/cloudflared:latest' environment: - 'TUNNEL_TOKEN=你的TOKEN' # 建议在 Environment 变量中设置 networks: - dokploy-network # 必须加入此网络 restart: unless-stopped command: ["tunnel", "--no-autoupdate", "run"] networks: dokploy-network: external: true 第三步:部署应用 (以 Excalidraw 为例) 部署应用时,务必确保它与隧道在同一个 Docker 网络中,以便隧道能通过“服务名”找到它。...

一些docker和k8s的笔记

常见的项目Dockerfile golang项目 # 构建阶段 FROM golang:1.23 AS builder # 设置工作目录, WORKDIR /app # 复制go.mod和go.sum文件 COPY go.mod go.sum ./ # 设置goproxy RUN go env -w GOPROXY='https://goproxy.io,https://goproxy.cn,direct' # 下载依赖 RUN go mod download # 复制源代码 COPY . . # 构建应用 RUN CGO_ENABLED=0 GOOS=linux go build -o server . # 运行阶段 FROM alpine:latest # 安装ca-certificates以支持HTTPS, RUN apk --no-cache add ca-certificates WORKDIR /root/ # 从构建阶段复制编译好的二进制文件 COPY --from=builder /app/server . # 暴露端口(如果您的应用监听某个端口) EXPOSE 8080 # 运行应用 CMD ["....