收起左侧

** 客户端 Docker 配置文档

0
回复
64
查看
[ 复制链接 ]

0

主题

3

回帖

0

牛值

江湖小虾

2025-10-18 20:25:42 显示全部楼层 阅读模式

** 客户端 Docker 配置文档

一、配置文件清单及说明

本次配置包含 2 个核心文件,分别负责参数管理和容器启动规则,适配 “保留目录挂载、纯命令行启动” 的稳定运行场景,可直接用于部署启动。

1.1 .env 文件(参数管理文件)

作用

作为参数集中管理载体,存储服务器连接的核心动态参数。后续需修改服务器地址、验证密钥等信息时,仅需编辑此文件,无需改动容器启动配置,极大降低操作复杂度,提升维护效率。

文件内容

env

# 服务器地址:严格遵循“IP:端口”标准格式,禁止添加 tcp://、udp:// 等协议前缀,否则会导致连接失败
SERVER_ADDR=XXX.XXX.XXX.XXX:XXXXX
# 验证密钥:客户端与服务器端的身份验证凭证,必须与服务器端配置完全一致,大小写、特殊字符均需匹配
VKEY=XXXXXXXXXXXXXXXXXXXX
# 连接类型:当前配置为 TCP 协议,需与服务器端支持的连接协议保持一致,确保通信兼容性
CONNECT_TYPE=tcp

使用说明

  1. 参数修改规范:若服务器地址变更(如 IP 调整、端口修改),直接替换 SERVER_ADDR 后的数值;验证密钥更新时,仅修改 VKEY 对应的字符串即可,修改后无需重启宿主机,重启容器即可生效。
  2. 安全注意事项:此文件包含验证密钥等敏感信息,需设置合理权限(如 Linux 系统下可执行 chmod 600 .env),避免未授权访问导致密钥泄露。

1.2 docker-compose.yml 文件(容器启动配置)

作用

定义 ** 容器的完整启动规则,涵盖镜像选择、网络模式、目录挂载、启动参数、资源限制等关键配置,是容器正常运行的核心依据,执行相关命令即可基于此文件快速部署服务。

文件内容

yaml

version: '3.8'
services:
  **:
    # 镜像选择:采用 jayfong/** 镜像的 latest 版本,可自动拉取最新稳定版,无需手动指定具体版本号
    image: jayfong/**:latest
    # 容器名称:固定命名为“**”,便于通过名称快速执行启动、停止、查看日志等操作,避免与其他容器混淆
    container_name: **
    # 网络模式:使用 host 网络模式,与宿主机共享网络命名空间,保障端口转发、服务访问等核心功能正常生效
    network_mode: host
    # 目录挂载:将宿主机 /vol2/1000/**/conf 目录挂载至容器内 /conf 目录,权限设为 rw(读写)
    # 保留此挂载可后续通过添加 **.conf 扩展功能(如 TCP 转发、健康检查),当前无配置文件不影响启动
    volumes:
      - /vol2/1000/**/conf:/conf:rw
    # 启动命令:采用纯命令行参数启动方式,直接引用 .env 文件中的参数,避免因配置文件缺失或格式错误导致启动失败
    command:
      - -server=${SERVER_ADDR}  # 引用 .env 中的服务器地址参数,实现参数联动
      - -vkey=${VKEY}           # 引用 .env 中的验证密钥参数,确保身份验证一致
      - -type=${CONNECT_TYPE}   # 引用 .env 中的连接类型参数,保障通信协议匹配
    # 重启策略:配置为“unless-stopped”,即容器异常退出、宿主机重启时自动重启容器,保障服务连续性
    restart: unless-stopped
    # 资源限制:合理限制 CPU 和内存使用,避免服务过度占用宿主机资源,影响其他应用稳定运行
    deploy:
      resources:
        limits:
          cpus: '0.5'    # 最大占用 0.5 核 CPU,可根据宿主机配置适当调整
          memory: 128M   # 最大占用 128MB 内存,满足服务运行需求的同时减少资源浪费
    # 健康检查:实时监控服务运行状态,及时发现并自动恢复异常,降低人工运维成本
    healthcheck:
      test: ["CMD", "pgrep", "**"]  # 通过检查 ** 进程是否存在判断服务状态
      interval: 30s                  # 检查间隔为 30 秒,平衡监控精度与资源消耗
      timeout: 5s                    # 检查超时时间为 5 秒,避免长时间阻塞
      retries: 3                     # 连续 3 次检查失败判定为服务异常,触发重启

核心配置解读

  1. 目录挂载设计:挂载路径 /vol2/1000/**/conf:/conf:rw 中,宿主机路径需确保存在(可通过 mkdir -p /vol2/1000/**/conf 创建),读写权限为后续扩展配置预留空间,当前无配置文件时不影响容器启动。
  2. 健康检查机制:通过 pgrep ** 检查进程存活状态,配合重启策略形成闭环,当服务意外终止时,容器会自动重启恢复,提升服务可用性。
  3. 资源控制逻辑:结合 ** 服务的轻量特性,设置 0.5 核 CPU 和 128MB 内存的限制,既满足服务运行需求,又避免资源闲置或过度占用,适配多数服务器环境。
收藏
送赞
分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则