docker

以下是接口自动化测试中 ​Docker 核心场景 的简化汇总:

1. 启动测试依赖服务

复制代码
# 启动 MySQL 和 Redis
docker run -d --name test-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0
docker run -d --name test-redis -p 6379:6379 redis:6.0

2. 初始化测试数据

复制代码
# 挂载 SQL 文件到 MySQL 容器自动执行
docker run -d --name test-mysql \
  -v /path/to/init.sql:/docker-entrypoint-initdb.d/init.sql \
  mysql:8.0

3. 容器网络隔离

复制代码
# 创建网络并启动服务(容器间通过名称通信)
docker network create test-network
docker run -d --name test-mysql --network test-network mysql:8.0
docker run -d --name api-service --network test-network your-api-image

4. 查看测试日志

复制代码
# 实时跟踪容器日志
docker logs -f test-mysql

# 过滤错误日志
docker logs test-mysql 2>&1 | grep "error"

5. 清理测试环境

复制代码
# 删除容器、镜像、数据卷
docker stop test-mysql test-redis && docker rm test-mysql test-redis
docker rmi your-api-image:latest
docker volume prune  # 清理无用数据卷

6. 使用 Docker Compose 一键编排

复制代码
# 启动完整环境(MySQL + Redis + API)
docker-compose up -d

# 停止并销毁
docker-compose down

7. 构建测试专用镜像

复制代码
# Dockerfile 示例(Python + pytest)
FROM python:3.9
COPY requirements.txt .
RUN pip install -r requirements.txt
CMD ["pytest", "test_api.py"]

# 构建并运行测试
docker build -t test-runner .
docker run --network test-network test-runner

核心总结

场景 核心命令
启动服务 docker run -d --name ... -p ... -e ...
数据初始化 -v /host/path:/container/path
容器通信 docker network create + --network
日志调试 docker logs -f / grep
环境清理 docker stop/rm/prune
编排工具 docker-compose up -d + docker-compose down
定制镜像 docker build -t + Dockerfile
相关推荐
lisanmengmeng2 小时前
docker 方式安装部署禅道zentao(五)
运维·docker·容器
程序员老赵3 小时前
AdguardHome Docker 容器化部署指南
docker·dns
露临霜4 小时前
Docker安装nginx
nginx·docker·容器
CAFEBABE 346 小时前
安装完docker之后怎么使用
运维·docker·容器
全靠bug跑7 小时前
Nacos 入门实战:部署、服务注册与发现全指南
java·spring cloud·docker·nacos
Better Bench8 小时前
ThinkStation PGX Ubuntu aarch64架构上使用Docker 配置amd64架构镜像的深度学习环境并使用Vscode开发
ubuntu·docker·架构
kevin_水滴石穿9 小时前
centos7 离线安装docker-compose(纯绿色安装)
运维·docker·容器
java_logo10 小时前
CALIBRE-WEB Docker 容器化部署指南
前端·docker·容器·电子书·calibre·calibre-web·docker部署calibre
yuxuan669910 小时前
【Docker】使用docker启动禅道出现mysql.sock 文件已经存在的bug
mysql·docker·centos·bug
Watermelo61711 小时前
【简单快速】windows中docker数据如何从C盘迁移到其他盘
java·运维·docker·容器·运维开发·devops·空间计算