中转服务容器化Docker‑Compose一键部署生产模板

中转服务通常承担流量转发、API 代理或内网穿透职责,手动部署时环境差异大、重启麻烦,换成 Docker-Compose 后只需一份 docker-compose.yml 就能在任意 Linux 服务器上拉起整套服务。
本文按生产环境标准给出可直接套用的模板,并讲清前置条件、部署步骤、验证方法和高频踩坑点,零基础用户照做即可。

部署前的三件事

开始操作前先确认三件事:

  • 服务器已安装 Docker 和 Docker-Compose。执行 docker -v 和 docker-compose -v 能看到版本号即可;若未安装,参考 Docker 官方文档或宝塔面板的 Docker 管理器一键安装。
  • 端口已预留。中转服务默认使用 8080,如果用 Nginx 反代,注意不要和 80/443 冲突。
  • 数据目录已规划。建议在 /opt/relay 下统一存放配置和日志,方便备份和迁移。

编写 docker-compose.yml 模板

在 /opt/relay 目录下新建 docker-compose.yml,内容如下:

version: "3.8"

services:
  relay:
    image: your-registry/relay:latest   # 替换为实际镜像地址
    container_name: relay
    restart: always
    ports:
      - "8080:8080"
    environment:
      - TZ=Asia/Shanghai
      - LOG_LEVEL=info
      - CONFIG_PATH=/data/config.yml
    volumes:
      - ./config.yml:/data/config.yml:ro
      - ./logs:/data/logs
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
      interval: 30s
      timeout: 5s
      retries: 3
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"

配置项说明:

  • restart: always 让容器在异常退出或服务器重启后自动拉起,生产环境必加。
  • healthcheck 定期检查服务健康状态,配合服务发现或监控面板使用。
  • logging 限制日志体积,避免长期运行撑爆磁盘。
  • 配置文件通过 volume 挂载进容器,修改后只需 docker-compose restart relay 即可生效,不用重新构建镜像。

启动与验证

在 /opt/relay 目录下依次执行:

docker-compose up -d
docker-compose ps

看到 relay 状态为 Up、健康检查为 healthy 就说明启动成功。
接着测试转发功能:

curl -I http://服务器IP:8080/health

返回 200 OK 即正常。
如果使用 Nginx 反代,还要在 Nginx 配置中把域名指向本机 8080 端口,然后执行 nginx -s reload。

常见报错排查

端口被占用:启动时提示 port is already allocated,先执行 ss -lntp | grep 8080 找出占用进程,释放端口或修改宿主机映射端口。

配置挂载无效:确保 config.yml 与 docker-compose.yml 在同一目录,且容器内读取路径和挂载路径完全一致。
否则容器会使用默认配置,导致行为异常。

健康检查失败:镜像里可能没有 curl 命令,会报 exec: "curl": executable file not found。
可将健康检查命令改为 wget -q --spider http://localhost:8080/health 或使用开发语言自带的探活接口。

日志不输出/权限错误:检查宿主机 logs 目录是否具备写权限。
直接 chmod 755 logs 后重启容器通常能解决。

生产环境避坑清单

把下面几个细节处理到位,能省掉后续很多麻烦:

  • 固定镜像版本,不要用 latest。部署前锁定到具体 tag(如 relay:v2.1.3),避免更新导致意外变更。
  • 敏感信息用环境变量或 Docker Secret 管理,不要硬编码在 config.yml 中。
  • 在云服务器安全组和系统防火墙(firewalld 或 ufw)中开放映射端口,否则外部无法访问。
  • 定期执行 docker-compose pull 获取安全更新,并按镜像维护说明回滚兼容版本。
  • 如服务无内置持久化需求,建议在编排文件里关闭不必要的 volume 写入,减少磁盘碎片和备份体积。

模板调整与后续维护

生产环境没有一套配置通吃所有场景:如果你的中转服务需要 Redis 或数据库,在 services 下继续追加对应服务即可,Docker-Compose 会统一管理网络和数据卷。
升级软件时,先备份 /opt/relay 整个目录,再替换镜像 tag 并执行 docker-compose up -d,最后确认健康检查状态。

按照这份模板部署完成后,实际收益是:服务可随服务器重启自愈,日志有上限控制,配置变更可回滚,整个生命周期不再依赖人工手动启停。
若在部署中遇到其他问题,优先查看 docker-compose logs 输出,再结合本次提到的排错思路逐项核对。

分享到:
上一篇
Nginx代理出现504 Gateway Timeout
下一篇
公网扫描器大规模探测11434、7860
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意