10 KiB
10 KiB
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