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

259 lines
4.4 KiB
Markdown

# 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
```