compliance/docs/Docker_Quick_Reference.md
gongwenxin fa343eb111 .
2025-08-07 15:07:38 +08:00

4.4 KiB

DMS合规性测试工具 Docker快速参考

🚀 快速命令

一键部署

# 构建并启动服务
./docker-build.sh

# 测试Docker镜像
./test-docker.sh

基本操作

# 构建镜像
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反向代理配置

🔧 常用场景

开发环境

# 构建开发镜像
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

生产环境

# 使用Docker Compose启动完整服务
docker-compose up -d

# 查看服务状态
docker-compose ps

# 查看日志
docker-compose logs -f

测试环境

# 运行测试
./test-docker.sh

# 仅构建测试镜像
./test-docker.sh --build-only

# 清理测试环境
./test-docker.sh --cleanup-only

🛠️ 故障排除

检查容器状态

# 查看所有容器
docker ps -a

# 查看容器详细信息
docker inspect dms-compliance-tool

# 进入容器调试
docker exec -it dms-compliance-tool bash

查看资源使用

# 实时资源监控
docker stats

# 查看镜像大小
docker images

# 清理未使用资源
docker system prune -a

网络问题

# 查看端口映射
docker port dms-compliance-tool

# 测试网络连接
curl http://localhost:5050

# 查看容器网络
docker network ls

📦 镜像管理

本地镜像操作

# 列出镜像
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

镜像仓库操作

# 标记镜像
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

🔄 更新流程

应用更新

# 1. 停止现有服务
docker-compose down

# 2. 重新构建镜像
docker-compose build --no-cache

# 3. 启动新服务
docker-compose up -d

# 4. 验证服务
curl http://localhost:5050

配置更新

# 1. 修改配置文件
vim docker-compose.yml

# 2. 重新启动服务
docker-compose restart

# 3. 查看更新后的配置
docker-compose config

📊 监控命令

实时监控

# 容器资源使用
docker stats dms-compliance-tool

# 容器日志
docker logs -f dms-compliance-tool

# 系统事件
docker events

健康检查

# 检查容器健康状态
docker inspect dms-compliance-tool | grep -A 5 Health

# 手动健康检查
curl -f http://localhost:5050/ || echo "Service unhealthy"

🎯 最佳实践

安全

  • 使用非root用户运行容器
  • 限制容器资源使用
  • 定期更新基础镜像
  • 使用多阶段构建减小镜像大小

性能

  • 使用.dockerignore减少构建上下文
  • 合理设置内存和CPU限制
  • 使用数据卷持久化重要数据
  • 配置日志轮转避免日志文件过大

维护

  • 定期清理未使用的镜像和容器
  • 备份重要数据和配置
  • 监控容器资源使用情况
  • 建立镜像版本管理策略

🆘 紧急操作

服务异常

# 快速重启
docker restart dms-compliance-tool

# 强制停止
docker kill dms-compliance-tool

# 查看最近日志
docker logs --tail 50 dms-compliance-tool

数据恢复

# 从容器复制文件
docker cp dms-compliance-tool:/app/test_reports ./backup/

# 向容器复制文件
docker cp ./backup/config.json dms-compliance-tool:/app/

完全重置

# 停止并删除所有相关容器
docker-compose down -v

# 删除镜像
docker rmi dms-compliance-tool

# 重新构建和启动
./docker-build.sh --clean