SuperAPI AI 工具集

docker-deployment

部署与运维

查看项目

更新于 10-15 11:23

技能介绍

用途

该技能面向使用 Docker 部署 Web 应用并需要 HTTPS 支持的场景,整合了 Nginx HTTPS 配置与 Cloudflare Tunnel,用于将外部域名安全地连接到本地运行的容器。

主要能力

  • 配置带 SSL 证书的 Nginx(参考 nginx-https.md)
  • 设置 docker-compose.yml 并挂载证书卷
  • 配置 Cloudflare Tunnel,将外部域名连接到本地容器
  • 提供 Cloudflare Origin 证书相关说明(cf-origin-cert.md)
  • 提供 Docker 数据持久化说明(data-persistence.md)
  • 提供 Cloudflare Tunnel 设置说明(cf-tunnel.md)

使用方式

快速上手流程:

  1. 配置 Nginx 与 SSL 证书(见 nginx-https.md)
  2. 设置 docker-compose.yml,挂载证书卷
  3. 配置 Cloudflare Tunnel,将外部域名连接到本地容器

常见任务与对应参考文档:

任务 参考
Nginx HTTPS 配置 nginx-https.md
Cloudflare Origin 证书 cf-origin-cert.md
Docker 数据持久化 data-persistence.md
Cloudflare Tunnel 设置 cf-tunnel.md

架构概览

互联网 → Cloudflare 边缘(HTTPS)→ Cloudflare Tunnel → Ubuntu/Docker(Nginx)

核心原则

  • 持久化数据始终使用命名 Docker 卷
  • 生产环境中 Nginx 应将 HTTP(80) 重定向到 HTTPS(443)
  • Cloudflare Origin 证书仅用于 Cloudflare 到源站的加密
  • Tunnel 可连接 HTTP 或 HTTPS,需根据 Nginx 配置决定

故障排查

启用 Cloudflare 强制 HTTPS 后 HTTPS 不工作:

  • 检查 Nginx 是否监听 443 端口
  • 确认 SSL 证书已正确挂载
  • 确保 Cloudflare Tunnel 服务 URL 匹配(http:// 或 https://)

容器重启后数据丢失:

  • 检查 docker-compose.yml 是否对关键数据使用命名卷而非绑定挂载
  • 确认数据库路径指向已挂载的卷目录

详细解决方案请参见各参考文件。

适用场景

适用于需要通过 Docker 部署 Web 应用、并借助 Nginx 与 Cloudflare Tunnel 实现 HTTPS 访问与外部域名连接的场景。

限制

资料未提供具体安装命令、代码示例、收费或价格信息,相关细节暂未提供。