259 lines
4.4 KiB
Markdown
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
|
|
```
|