前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >03 Docker实战之使用Docker提高测试执行效率

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

作者头像
测试开发囤货
发布2021-08-10 12:26:55
4890
发布2021-08-10 12:26:55
举报
文章被收录于专栏:测试开发囤货

回顾

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

背景

考虑如下3个场景:

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

解决措施

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

操作步骤

对于问题一

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

代码语言:javascript
复制
# -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 的语法格式为:

代码语言:javascript
复制
docker commit [选项] <容器ID或容器名> [<仓库名>[:<标签>]]

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

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

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

代码语言:javascript
复制
docker run --name web2 -d -p 81:80 nginx:v2

对于问题三

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

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

代码语言:javascript
复制
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管理测试数据
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发囤货 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 回顾
  • 背景
  • 解决措施
  • 操作步骤
    • 对于问题一
      • 对于问题二
        • 对于问题三
        • 下集预告
        相关产品与服务
        容器镜像服务
        容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档