现象
FastGPT的部署配置文件中,容器命名规则未统一。部分容器已使用fastgpt-前缀(如fastgpt-minio、fastgpt-mcp-server等),但仍有大量容器使用无前缀或其他命名风格(如mongo、redis、aiproxy_pg等)。执行docker compose up或docker ps时,容器名称列表格式杂乱,无法通过统一规则快速筛选FastGPT相关服务。示例当前输出为:
opensandbox-server
mongo
code-sandbox
redis
pg
fastgpt-minio
fastgpt-mcp-server
fastgpt-plugin
aiproxy
aiproxy_pg
volume-manager可能原因
当前已知容器命名存在不一致情况,具体成因需按实际开发流程确认,推测为不同模块开发时未统一容器命名规范导致。
排查步骤
- 进入FastGPT项目的部署目录,执行对应环境的启动命令,如
docker compose -f deploy/templates/docker-compose.dev.yml up -d(开发环境)或docker compose -f deploy/templates/docker-compose.prod.yml up -d(生产环境)。 - 执行
docker compose ps或docker ps命令,查看当前运行的所有容器名称。 - 对比容器名称,识别出带
fastgpt-前缀和不带前缀或使用下划线等其他风格的容器。
解决与验证
解决方法
编辑deploy/templates/docker-compose.dev.yml和deploy/templates/docker-compose.prod.yml两个配置文件,为所有服务的container_name字段添加fastgpt-前缀,例如:
- 将
mongo改为fastgpt-mongo - 将
redis改为fastgpt-redis - 将
aiproxy_pg改为fastgpt-aiproxy-pg - 将
code-sandbox改为fastgpt-code-sandbox
最终所有容器命名应统一为fastgpt-开头的格式。
验证步骤
- 保存修改后的配置文件,重新执行对应环境的启动命令。
- 执行
docker compose ps或docker ps命令,查看容器名称是否全部以fastgpt-开头。 - 执行
docker ps | grep fastgpt-命令,可快速筛选所有FastGPT相关容器,验证统一后的效果。统一后的期望输出示例为:
fastgpt-opensandbox-server
fastgpt-mongo
fastgpt-code-sandbox
fastgpt-redis
fastgpt-pg
fastgpt-minio
fastgpt-mcp-server
fastgpt-plugin
fastgpt-aiproxy
fastgpt-aiproxy-pg
fastgpt-volume-manager来源:https://github.com/labring/FastGPT/issues/6705