Files
ocdp-go/COMMANDS_CHEATSHEET.md
mangomqy c5e51ed069 ocdp v1
2025-11-13 02:54:06 +00:00

10 KiB
Raw Blame History

OCDP 命令速查表

快速查找常用的 Docker 和 Make 命令。


🚀 快速启动

# 开发环境推荐Mock 模式)
make docker-dev

# 生产环境(真实数据库)
make docker-prod

# 测试后端(独立)
make docker-test-backend

# 测试前端(独立)
make docker-test-frontend

📋 完整命令列表

Docker 服务管理

命令 说明 模式
make docker-dev 启动开发环境(前台) Dev
make docker-dev-bg 启动开发环境(后台) Dev
make docker-prod 启动生产环境 Production
make docker-up 同 docker-prod Production
make docker-down 停止所有服务 -
make docker-down-v 停止并删除数据卷 -

服务测试

命令 说明 端口
make docker-test-backend 测试后端(前台) 8080
make docker-test-backend-bg 测试后端(后台) 8080
make docker-test-frontend 测试前端(前台) 3000
make docker-test-frontend-bg 测试前端(后台) 3000

日志查看

命令 说明
make docker-logs 查看所有服务日志
make docker-logs-backend 只看后端日志
make docker-logs-frontend 只看前端日志
make docker-logs-db 只看数据库日志

服务状态

命令 说明
make docker-ps 查看服务状态
make docker-status 查看详细状态(含健康检查)

镜像管理

命令 说明
make docker-build 构建所有镜像
make docker-build-no-cache 无缓存构建
make docker-restart 重启所有服务
make docker-restart-backend 只重启后端
make docker-restart-frontend 只重启前端

工具服务

命令 说明 端口
make docker-tools 启动 pgAdmin + Swagger UI 5050, 8081

🔧 原始 Docker Compose 命令

开发模式

# 启动(前台)
docker compose -f docker-compose.yml -f docker-compose.dev.yml up

# 启动(后台)
docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d

# 停止
docker compose -f docker-compose.yml -f docker-compose.dev.yml down

# 查看日志
docker compose -f docker-compose.yml -f docker-compose.dev.yml logs -f

# 重启服务
docker compose -f docker-compose.yml -f docker-compose.dev.yml restart backend

生产模式

# 启动(前台)
docker compose up

# 启动(后台)
docker compose up -d

# 停止
docker compose down

# 查看日志
docker compose logs -f

# 重启服务
docker compose restart backend

Mock 模式

# 测试后端
docker compose -f docker-compose.mock.yml up backend

# 测试前端
docker compose -f docker-compose.mock.yml up frontend

# 后台运行
docker compose -f docker-compose.mock.yml up -d backend

# 停止
docker compose -f docker-compose.mock.yml down

🛠️ 本地开发命令(不使用 Docker

安装依赖

make install              # 安装所有依赖
make install-tools        # 安装 OpenAPI 工具
make install-deps         # 安装项目依赖

启动服务

make dev-local            # 启动完整环境
make dev-backend-mock     # 只启动后端Mock
make dev-backend-prod     # 只启动后端(生产)
make dev-frontend         # 只启动前端

OpenAPI 工作流

make openapi-validate     # 验证 OpenAPI 规范
make openapi-gen          # 生成前后端代码
make openapi-gen-backend  # 只生成后端代码
make openapi-gen-frontend # 只生成前端代码
make openapi-docs         # 生成 HTML 文档
make openapi-view         # 启动文档服务器

测试

make test                 # 运行所有测试
make test-backend         # 运行后端测试
make test-frontend        # 运行前端测试

清理

make clean                # 清理构建产物
make clean-generated      # 清理生成的代码

📊 常用 Docker 命令

容器操作

# 进入容器
docker compose exec backend sh
docker compose exec frontend sh
docker compose exec postgres psql -U postgres -d ocdp

# 查看容器列表
docker compose ps

# 查看容器详情
docker compose ps -a

# 删除容器
docker compose rm backend
docker compose rm -f backend  # 强制删除

# 停止特定容器
docker compose stop backend
docker compose stop frontend

日志操作

# 实时日志
docker compose logs -f

# 只看特定服务
docker compose logs -f backend

# 显示最后 N 行
docker compose logs --tail=100 backend

# 显示时间戳
docker compose logs -f -t backend

# 不跟随(只显示现有)
docker compose logs backend

镜像操作

# 构建镜像
docker compose build

# 无缓存构建
docker compose build --no-cache

# 只构建特定服务
docker compose build backend
docker compose build frontend

# 查看镜像
docker images | grep ocdp

# 删除镜像
docker rmi ocdp-backend
docker rmi ocdp-frontend

数据卷操作

# 查看数据卷
docker volume ls

# 删除特定数据卷
docker volume rm ocdp_postgres_data
docker volume rm ocdp_redis_data

# 删除所有未使用的数据卷
docker volume prune

# 备份数据卷
docker run --rm -v ocdp_postgres_data:/data -v $(pwd):/backup alpine tar czf /backup/postgres_backup.tar.gz -C /data .

# 恢复数据卷
docker run --rm -v ocdp_postgres_data:/data -v $(pwd):/backup alpine sh -c "cd /data && tar xzf /backup/postgres_backup.tar.gz"

网络操作

# 查看网络
docker network ls

# 查看网络详情
docker network inspect ocdp-network

# 测试网络连通性
docker compose exec backend ping frontend
docker compose exec frontend ping backend

🔍 调试命令

健康检查

# 后端健康检查
curl http://localhost:8080/health

# 前端健康检查
curl http://localhost:5173/    # Dev 模式
curl http://localhost:3000/    # Production 模式

# 数据库健康检查
docker compose exec postgres pg_isready -U postgres

API 测试

# 登录
curl -X POST http://localhost:8080/api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{"username":"admin","password":"admin123"}'

# 获取 Registries
curl http://localhost:8080/api/v1/registries

# 获取 Clusters
curl http://localhost:8080/api/v1/clusters

# 获取 Repositories
curl http://localhost:8080/api/v1/registries/harbor-prod/repositories

# 获取 Artifacts带过滤
curl "http://localhost:8080/api/v1/registries/harbor-prod/repositories/charts%2Fvllm-serve/artifacts?media_type=chart"

数据库操作

# 连接数据库
docker compose exec postgres psql -U postgres -d ocdp

# 查看表
docker compose exec postgres psql -U postgres -d ocdp -c "\dt"

# 查询数据
docker compose exec postgres psql -U postgres -d ocdp -c "SELECT * FROM registries;"

# 执行 SQL 文件
docker compose exec -T postgres psql -U postgres -d ocdp < schema.sql

性能监控

# 查看资源使用
docker stats

# 只看特定容器
docker stats ocdp-backend ocdp-frontend

# 查看容器进程
docker compose top backend
docker compose top frontend

🎯 常用组合命令

完全重置

# 停止并删除所有内容
docker compose down -v
docker compose -f docker-compose.dev.yml down -v
docker compose -f docker-compose.mock.yml down -v

# 删除镜像
docker rmi $(docker images | grep ocdp | awk '{print $3}')

# 重新构建
make docker-build

# 重新启动
make docker-dev

更新代码后重新部署

# 停止服务
make docker-down

# 拉取最新代码
git pull

# 重新构建
make docker-build

# 启动服务
make docker-dev

查看完整系统状态

# 查看所有容器
docker compose ps

# 查看所有日志
make docker-logs

# 查看健康状态
make docker-status

# 测试所有服务
curl http://localhost:8080/health
curl http://localhost:5173/
curl http://localhost:5432  # 数据库端口

📝 环境变量

后端环境变量

# Mock 模式
export ADAPTER_MODE=mock
export JWT_SECRET=dev-secret
export ENCRYPTION_KEY=dev-encryption-key-32-bytes-long

# Production 模式
export ADAPTER_MODE=production
export DATABASE_URL=postgresql://postgres:postgres@postgres:5432/ocdp?sslmode=disable
export JWT_SECRET=your-production-secret
export ENCRYPTION_KEY=your-production-encryption-key-32-bytes

前端环境变量

export VITE_API_BASE_URL=http://localhost:8080/api/v1
export VITE_USE_MOCK=false

🆘 故障排查命令

问题诊断

# 查看完整日志
docker compose logs --tail=1000 > debug.log

# 查看特定时间段日志
docker compose logs --since 10m backend

# 查看容器详细信息
docker compose exec backend env

# 检查配置
docker compose config

# 验证 docker-compose.yml
docker compose -f docker-compose.yml config
docker compose -f docker-compose.dev.yml config

端口冲突检查

# 查看端口占用
sudo lsof -i :8080
sudo lsof -i :5173
sudo lsof -i :3000
sudo lsof -i :5432

# 杀死进程
sudo kill -9 <PID>

磁盘空间清理

# 删除未使用的容器
docker container prune

# 删除未使用的镜像
docker image prune

# 删除未使用的数据卷
docker volume prune

# 删除所有未使用的资源
docker system prune -a --volumes

💡 实用技巧

1. 后台运行并查看日志

make docker-dev-bg && make docker-logs

2. 重启并查看日志

docker compose restart backend && docker compose logs -f backend

3. 构建并启动

make docker-build && make docker-dev

4. 清理并重新开始

make docker-down && docker system prune -f && make docker-dev

5. 快速测试 API

# 保存 token
TOKEN=$(curl -s -X POST http://localhost:8080/api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{"username":"admin","password":"admin123"}' | jq -r '.token')

# 使用 token
curl -H "Authorization: Bearer $TOKEN" http://localhost:8080/api/v1/registries

📚 更多资源


命令速查表 - 最后更新2025-11-09