# DMS合规性测试工具 Docker快速参考 ## 🚀 快速命令 ### 一键部署 ```bash # 构建并启动服务 ./docker-build.sh # 测试Docker镜像 ./test-docker.sh ``` ### 基本操作 ```bash # 构建镜像 docker build -f Dockerfile.service -t dms-compliance-tool . # 启动容器 docker run -d --name dms-compliance-tool -p 5050:5050 dms-compliance-tool # 查看状态 docker ps # 查看日志 docker logs dms-compliance-tool # 停止容器 docker stop dms-compliance-tool # 删除容器 docker rm dms-compliance-tool ``` ## 📁 文件说明 | 文件 | 说明 | |------|------| | `Dockerfile.service` | 服务运行镜像定义 | | `docker-compose.yml` | Docker Compose配置 | | `docker-build.sh` | 自动化构建脚本 | | `test-docker.sh` | Docker测试脚本 | | `.dockerignore` | Docker构建忽略文件 | | `nginx/nginx.conf` | Nginx反向代理配置 | ## 🔧 常用场景 ### 开发环境 ```bash # 构建开发镜像 docker build -f Dockerfile.service -t dms-compliance-tool:dev . # 启动开发容器(挂载代码目录) docker run -d \ --name dms-dev \ -p 5050:5050 \ -v $(pwd):/app \ -e FLASK_ENV=development \ dms-compliance-tool:dev ``` ### 生产环境 ```bash # 使用Docker Compose启动完整服务 docker-compose up -d # 查看服务状态 docker-compose ps # 查看日志 docker-compose logs -f ``` ### 测试环境 ```bash # 运行测试 ./test-docker.sh # 仅构建测试镜像 ./test-docker.sh --build-only # 清理测试环境 ./test-docker.sh --cleanup-only ``` ## 🛠️ 故障排除 ### 检查容器状态 ```bash # 查看所有容器 docker ps -a # 查看容器详细信息 docker inspect dms-compliance-tool # 进入容器调试 docker exec -it dms-compliance-tool bash ``` ### 查看资源使用 ```bash # 实时资源监控 docker stats # 查看镜像大小 docker images # 清理未使用资源 docker system prune -a ``` ### 网络问题 ```bash # 查看端口映射 docker port dms-compliance-tool # 测试网络连接 curl http://localhost:5050 # 查看容器网络 docker network ls ``` ## 📦 镜像管理 ### 本地镜像操作 ```bash # 列出镜像 docker images # 删除镜像 docker rmi dms-compliance-tool # 导出镜像 docker save dms-compliance-tool | gzip > dms-tool.tar.gz # 导入镜像 gunzip -c dms-tool.tar.gz | docker load ``` ### 镜像仓库操作 ```bash # 标记镜像 docker tag dms-compliance-tool:latest registry.example.com/dms-tool:v1.0 # 推送镜像 docker push registry.example.com/dms-tool:v1.0 # 拉取镜像 docker pull registry.example.com/dms-tool:v1.0 ``` ## 🔄 更新流程 ### 应用更新 ```bash # 1. 停止现有服务 docker-compose down # 2. 重新构建镜像 docker-compose build --no-cache # 3. 启动新服务 docker-compose up -d # 4. 验证服务 curl http://localhost:5050 ``` ### 配置更新 ```bash # 1. 修改配置文件 vim docker-compose.yml # 2. 重新启动服务 docker-compose restart # 3. 查看更新后的配置 docker-compose config ``` ## 📊 监控命令 ### 实时监控 ```bash # 容器资源使用 docker stats dms-compliance-tool # 容器日志 docker logs -f dms-compliance-tool # 系统事件 docker events ``` ### 健康检查 ```bash # 检查容器健康状态 docker inspect dms-compliance-tool | grep -A 5 Health # 手动健康检查 curl -f http://localhost:5050/ || echo "Service unhealthy" ``` ## 🎯 最佳实践 ### 安全 - 使用非root用户运行容器 - 限制容器资源使用 - 定期更新基础镜像 - 使用多阶段构建减小镜像大小 ### 性能 - 使用.dockerignore减少构建上下文 - 合理设置内存和CPU限制 - 使用数据卷持久化重要数据 - 配置日志轮转避免日志文件过大 ### 维护 - 定期清理未使用的镜像和容器 - 备份重要数据和配置 - 监控容器资源使用情况 - 建立镜像版本管理策略 ## 🆘 紧急操作 ### 服务异常 ```bash # 快速重启 docker restart dms-compliance-tool # 强制停止 docker kill dms-compliance-tool # 查看最近日志 docker logs --tail 50 dms-compliance-tool ``` ### 数据恢复 ```bash # 从容器复制文件 docker cp dms-compliance-tool:/app/test_reports ./backup/ # 向容器复制文件 docker cp ./backup/config.json dms-compliance-tool:/app/ ``` ### 完全重置 ```bash # 停止并删除所有相关容器 docker-compose down -v # 删除镜像 docker rmi dms-compliance-tool # 重新构建和启动 ./docker-build.sh --clean ```