02 Docker实战之使用Docker管理测试环境

简介: 02 Docker实战之使用Docker管理测试环境

回顾

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

   

背景

在开发或测试过程中,我们常常需要不同(版本)的依赖(应用)环境。以往我们通常直接在当前环境上安装需要的依赖(应用),考虑如下几个问题,是否都遇到过:

  1. 新依赖(应用)部署完了,想回退/恢复到旧版本,就不好操作了;
  2. 同一应用的不同版本不得不借助一些第三方式工具进行管理,甚至为了方便,将不同版本的应用部署在不同的机器上;
  3. 开发提测了服务,但在测试环境却无法跑起来;    


解决措施

有了Docker容器技术后,以上问题就统统解决了。


操作步骤

下面开始介绍如何使用Docker容器管理测试环境,本文以python依赖环境为例子:

  • 我们直接从Docker官方镜像平台拉取一个python环境,并将它运行起来:
# -it参数指定以/bin/bash交互式运行
# --name参数给该容器起一个名字
docker run -it --name python docker.io/python:3.6.4 /bin/bash
  • 在容器里安装我们需要的依赖或其他第三方开源库,如下面安装freetds-dev和unixodbc-dev这两个依赖:
# 其他需要的依赖可以自行安装
apt-get install freetds-dev
apt-get install unixodbc-dev
  • 安装完后退出容器(可以使用ctrl+p+q快捷键),但不要结束容器;
使用ctrl+p+q快捷键
  • 将我们的修复提交,得到新的镜像:
# -m 参数为提交的log信息,相当于git log
# 39eaa5aa7332为容器的id,可通过docker ps命令查看
docker commit -m "add freetds-dev and unixodbc-dev lib" 39eaa5aa7332 python3.6.4-dev


总结:

「Docker管理测试环境的步骤有3步」

  1. 运行一个基础镜像容器;
  2. 在容器进行修改:服务安装、依赖更新等;
  3. 使用docker commit命令提交我们的修改。

是不是特别方便?我们可以构建任意我们需要的镜像,并可以进行发布,与他人共享使用。在团队里使用此功能可以大大提高工作效率,还可以避免因环境不一致带来的各种问题。


下集预告

  • 使用Docker提高测试执行效率
  • 使用Docker管理测试数据
相关文章
|
2月前
|
测试技术 持续交付 UED
软件测试的艺术:确保质量的实战策略
在软件开发的舞台上,测试是那把确保每个功能如交响乐般和谐奏响的指挥棒。本文将深入探讨软件测试的重要性、基本类型以及如何设计高效的测试策略。我们将通过一个实际的代码示例,展示如何运用这些策略来提升软件质量和用户体验。
|
25天前
|
关系型数据库 应用服务中间件 PHP
实战~如何组织一个多容器项目docker-compose
本文介绍了如何使用Docker搭建Nginx、PHP和MySQL的环境。首先启动Nginx容器并查看IP地址,接着启动Alpine容器并安装curl测试连通性。通过`--link`方式或`docker-compose`配置文件实现服务间的通信。最后展示了Nginx配置文件和PHP代码示例,验证了各服务的正常运行。
50 3
实战~如何组织一个多容器项目docker-compose
|
1月前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
133 7
|
2月前
|
运维 Cloud Native 云计算
云原生之旅:Docker容器化实战
本文将带你走进云原生的世界,深入理解Docker技术如何改变应用部署与运维。我们将通过实际案例,展示如何利用Docker简化开发流程,提升应用的可移植性和伸缩性。文章不仅介绍基础概念,还提供操作指南和最佳实践,帮助你快速上手Docker,开启云原生的第一步。
|
2月前
|
机器学习/深度学习 数据采集 Docker
Docker容器化实战:构建并部署一个简单的Web应用
Docker容器化实战:构建并部署一个简单的Web应用
|
2月前
|
Kubernetes Linux 开发者
深入探索容器化技术——Docker 的实战应用
深入探索容器化技术——Docker 的实战应用
115 0
|
2月前
|
存储 Cloud Native 开发者
深入探索容器化技术——Docker的实战应用
深入探索容器化技术——Docker的实战应用
46 0
|
2月前
|
存储 安全 Docker
Docker 的实战应用与优化策略
Docker 的实战应用与优化策略
41 0
|
2月前
|
JavaScript Linux 持续交付
深入探索容器化技术——Docker 的实战应用
深入探索容器化技术——Docker 的实战应用
60 0
|
2月前
|
Kubernetes 监控 安全
容器化技术:Docker与Kubernetes的实战应用
容器化技术:Docker与Kubernetes的实战应用