03 Docker实战之使用Docker提高测试执行效率

简介: 03 Docker实战之使用Docker提高测试执行效率

回顾

「3个场景快速上手Docker容器技术」




背景

考虑如下3个场景:

  • 问题一:A、B两位测试人员共同负责同一核心模块的测试,希望测试环境独立,互不影响;
  • 问题二:测试过程中发现某个问题,希望保留此现象环境,以便后面排查定位问题;
  • 问题三:有没有发现自己的host环境特别多,服务部署在各测试环境上,希望统一化管理。


解决措施

当然还有很多其他类似的问题,但现在用Docker容器技术统统可以帮我们解决。


操作步骤

对于问题一

我们知道,容器运行时,可以添加-p参数,以指定映射不同的主机端口:

# -p 指定主机端口和容器端口的映射关系
# -d 指定容器在后台运行
# 如下运行2个容器,映射到主机上不同的端口上
docker run -p 8080:80 -d helloworld:v1
docker run -p 8081:80 -d helloworld:v1

A、B测试人员分别使用不同的容器服务,是不是就没有之前的测试环境冲突的问题了?

对于问题二

此时我们使用docker commit打包一个状态镜像(还可以直接将镜像发布给开发),是不是也可以解决问题了?

Docker 提供了一个 docker commit 命令,可以将容器的存储层保存下来成为镜像。换句话说,就是在原有镜像的基础上,再叠加上容器的存储层,并构成新的镜像。以后我们运行这个新镜像的时候,就会拥有原有容器最后的文件变化。

docker commit 的语法格式为:

docker commit [选项] <容器ID或容器名> [<仓库名>[:<标签>]]

我们可以用下面的命令将容器保存为镜像:

$ docker commit \
    --author "测试开发囤货 <jiawei.li2@qq.com>" \
    --message "默认网页弹窗bug" \
    webserver \
    nginx:v2
sha256:07e33465974800ce65751acc279adc6ed2dc5ed4e0838f8b86f0c87aa1795214

镜像定制好后,我们可以来运行这个镜像:

docker run --name web2 -d -p 81:80 nginx:v2

对于问题三

针对不同项目工程部署在不同测试环境的问题,有了Docker容器技术,我们也可以使用docker build打包,然后运行在同一主机上。

需要注意的是端口冲突的问题,如果你看到如下的错误,请检查看一下是否是端口冲突了:

docker: Error response from daemon: failed to create endpoint drunk_babbage on network bridge: Bind for 0.0.0.0:80 failed: port is already allocated.

下集预告

  • 使用Docker管理测试数据
相关文章
|
5天前
|
监控 安全 Cloud Native
【云原生之Docker实战】使用Docker部署Ward服务器监控工具
【5月更文挑战第11天】使用Docker部署Ward服务器监控工具
22 3
|
5天前
|
开发框架 监控 Java
深入探索Spring Boot的监控、管理和测试功能及实战应用
【5月更文挑战第14天】Spring Boot是一个快速开发框架,提供了一系列的功能模块,包括监控、管理和测试等。本文将深入探讨Spring Boot中监控、管理和测试功能的原理与应用,并提供实际应用场景的示例。
17 2
|
5天前
|
存储 人工智能 测试技术
python自动化测试实战 —— CSDN的Web页面自动化测试
python自动化测试实战 —— CSDN的Web页面自动化测试
195 0
|
5天前
|
Web App开发 设计模式 测试技术
python自动化测试实战 —— 自动化测试框架的实例
python自动化测试实战 —— 自动化测试框架的实例
17 0
|
5天前
|
监控 数据可视化 IDE
python自动化测试实战 —— 单元测试框架
python自动化测试实战 —— 单元测试框架
19 2
|
5天前
|
Web App开发 JavaScript 测试技术
python自动化测试实战 —— WebDriver API的使用
python自动化测试实战 —— WebDriver API的使用
8 1
|
5天前
|
Cloud Native 安全 Linux
【云原生之Docker实战】使用Docker部署mBlog微博系统
【5月更文挑战第10天】使用Docker部署mBlog微博系统
16 2
|
5天前
|
网络安全 Docker 容器
测试开发环境下centos7.9下安装docker的minio
测试开发环境下centos7.9下安装docker的minio
19 1
|
5天前
|
测试技术 持续交付 Docker
Docker in Docker原理与实战
Docker in Docker原理与实战
6 0
|
5天前
|
Java 测试技术 持续交付
自动化测试框架选型与实战:深入探索与应用
【5月更文挑战第8天】本文探讨了自动化测试框架的选型与实战应用,强调了其在软件质量保障中的重要性。选型原则包括考虑项目需求、技术栈、可扩展性和可维护性,以及社区支持和文档。介绍了Selenium、Appium、JUnit和Pytest等常用框架,并概述了实战应用的步骤,包括明确需求、搭建环境、编写测试用例、执行测试、分析结果、维护代码和持续集成。合理选型与实践能提升测试效率,保障项目成功。