You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

4.1 KiB

容器名称标准化

日期: 2026-01-27
类型: 文档更新
影响范围: 开发文档、脚本

变更概述

统一项目中所有 Docker 容器名称引用,修正文档与实际配置不一致的问题。

问题背景

项目文档和脚本中使用的容器名称与 docker-compose.yml 实际定义不一致:

  • 文档中使用:jointo-server-db
  • 实际名称:jointo-server-postgres

这导致脚本执行失败和开发者困惑。

变更详情

标准容器名称

根据 server/docker-compose.yml 配置,项目使用以下容器名称:

容器名称 服务 镜像 端口
jointo-server-app FastAPI 应用 自定义构建 6170
jointo-server-postgres PostgreSQL 17 postgres:17-alpine 6181
jointo-server-redis Redis 7 redis:7-alpine 6183
jointo-server-minio MinIO minio/minio:latest 6185, 6187
jointo-server-adminer Adminer adminer:latest 6184

数据库连接信息

  • 用户名: jointoAI(非 postgres
  • 密码: 123456
  • 数据库: jointo
  • 端口: 6181(宿主机)→ 5432(容器内)

更新的文件

  1. .kiro/steering/docker-container.md

    • 更新容器名称列表
    • 修正示例命令中的容器名和用户名
  2. .claude/skills/jointo-tech-stack/references/infrastructure.md

    • 更新容器名称表格
    • 修正所有 Docker 命令示例
    • 添加 jointo-server-adminer 容器
  3. .claude/skills/jointo-tech-stack/references/migration.md

    • 更新备份命令中的容器名和用户名
  4. server/tests/README.md

    • 更新测试环境设置命令
    • 修正故障排查命令
  5. server/migrate_db.sh

    • 修正 DB_CONTAINER 变量值

标准命令示例

数据库操作

# 进入数据库容器
docker exec -it jointo-server-postgres bash

# 执行 SQL 查询
docker exec jointo-server-postgres psql -U jointoAI -d jointo -c "SELECT 1"

# 备份数据库
docker exec jointo-server-postgres pg_dump -U jointoAI -d jointo > backup.sql

# 恢复数据库
docker exec -i jointo-server-postgres psql -U jointoAI -d jointo < backup.sql

迁移操作

# 执行迁移
docker exec jointo-server-app alembic upgrade head

# 查看迁移状态
docker exec jointo-server-app alembic current

# 创建新迁移
docker exec jointo-server-app alembic revision --autogenerate -m "描述"

服务管理

# 启动所有服务
docker compose up -d

# 启动特定服务
docker compose up -d jointo-server-postgres jointo-server-redis

# 重启服务
docker restart jointo-server-app
docker restart jointo-server-postgres

# 查看日志
docker logs jointo-server-app
docker logs jointo-server-postgres

影响评估

开发者影响

  • 无破坏性变更:仅更新文档和脚本
  • 提高一致性:文档与实际配置保持一致
  • 减少错误:避免因容器名错误导致的命令失败

需要注意

⚠️ 数据库用户名:使用 jointoAI 而非 postgres

⚠️ 容器名称:使用 jointo-server-postgres 而非 jointo-server-db

⚠️ 端口映射:宿主机端口与容器内端口不同

验证步骤

# 1. 检查所有容器运行状态
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"

# 2. 验证数据库连接
docker exec jointo-server-postgres psql -U jointoAI -d jointo -c "SELECT version();"

# 3. 验证迁移脚本
cd server && ./migrate_db.sh current

# 4. 验证 Redis 连接
docker exec jointo-server-redis redis-cli ping

# 5. 验证 MinIO 访问
curl http://localhost:6185/minio/health/live

相关文档

后续建议

  1. 统一容器名称引用
  2. 考虑在 CI/CD 中添加容器名称验证
  3. 定期检查文档与配置的一致性