测试工作常用的docker命令
·
🧱 一、 容器状态与生命周期(环境稳不稳)
| 命令 | 核心作用 | 测试实战场景 |
|---|---|---|
docker ps | 查看当前运行中的容器 | 检查测试环境的服务是不是活着的。 |
docker ps -a | 查看所有容器(含已停止的) | 服务挂了/打不开时,看它是不是闪退了(Exited)。 |
docker run | 创建并启动一个新容器 | 核心命令。日常用来起测试数据库、Mock服务等。 |
docker stop [容器名] | 停止运行中的容器 | 模拟服务器宕机、断网容灾测试。 |
docker start [容器名] | 启动一个已停止的容器 | 恢复被关闭的测试服务。 |
docker restart [容器名] | 重启容器 | 修改了容器内配置文件后,使其生效。 |
docker rm -f [容器名] | 强制删除容器 | 测试环境推倒重来,或者清理过期的测试容器。 |
👉 docker run 黄金组合参数模板:
Bash
docker run -d -p 8080:80 --name test-nginx --restart=always -v /my/log:/var/log nginx:latest
# -d: 后台运行 -p: 端口映射(宿主机:容器) --name: 取别名 --restart=always: 崩溃自启 -v: 挂载日志/数据
🔥 二、 日志查看与故障定位(测试核心中的核心)
| 命令 | 核心作用 | 测试实战场景 |
|---|---|---|
docker logs [容器名] | 查看容器的所有日志 | 回溯查看之前发生过的错误。 |
docker logs -f --tail 100 [容器名] | 实时查看最后100行日志 | 最高频。在前端点下“提交”,眼睛死死盯着这个窗口看有没有刷出 Exception 报错。 |
docker logs [容器名] | grep "ERROR" | 过滤包含 ERROR 的日志 | 快速筛选错误信息,不用在海量日志里肉眼找。 |
docker logs [容器名] | grep -A 5 -B 5 "NullPointer" | 查看关键词前后各5行的日志 | 抓取 Java 空指针异常时完整的错误堆栈信息,方便提 Bug 单。 |
🔥 三、 进入容器内部(现场调查)
| 命令 | 核心作用 | 测试实战场景 |
|---|---|---|
docker exec -it [容器名] bash | 以交互模式进入容器内部 | 高频。进去查看配置文件(如 application.yml)里的 IP、数据库连接是否正确。 |
docker exec -it [容器名] sh | 如果上面提示找不到 bash,用这个 | 部分精简版镜像(如 Alpine)没装 bash,必须用 sh 才能进去。 |
📦 四、 镜像与磁盘管理(环境准备与清理)
| 命令 | 核心作用 | 测试实战场景 |
|---|---|---|
docker images | 查看本地已下载的镜像 | 核对开发给的镜像版本(TAG)和镜像 ID 是否是最新的。 |
docker pull [镜像名:版本号] | 从仓库下载指定版本的镜像 | 快速拉取特定版本的组件(如 mysql:5.7)来复现历史 Bug。 |
docker rmi [镜像ID] | 删除本地镜像 | 释放磁盘空间。注意:必须先删掉使用该镜像的容器。 |
docker system df | 查看 Docker 占用的磁盘空间 | 高阶排障。测试环境突发 500 错,检查是不是磁盘满了。 |
docker system prune -a | 一键深度清理所有不用的一堆东西 | 清理长期做自动化测试、频繁构建留下的无用镜像和死容器,瞬间释放大片空间。 |
更多推荐
所有评论(0)