前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >04 Docker实战之使用Docker管理测试数据

04 Docker实战之使用Docker管理测试数据

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

回顾

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

简介

在讲Docker管理测试数据前,先给大家讲一讲Docker容器数据持久化的概念,可以帮助大家更好地理解:

Docker容器的数据存储在数据层,如果删除容器,数据也会被清除,达不到我们需要管理测试数据的效果,那我们可以怎么做呢?

见上图,Docker提供了3种持久数据的方式:

  • 「volumes」:存于主机文件系统中的某个区域,由Docker管理。非Docker进程不应该修改这些数据。卷是Docker中持久化数据的最好方式
  • 「bind mount」:存于主机文件系统中的任意位置。非Docker进程可以修改这些数据
  • 「tmpfs mount」:存于内存中(注意,并不是持久化到磁盘)。在容器的生命周期中,它能被容器用来存放非持久化的状态或敏感信息

操作步骤

下面以mysql数据库作为例子讲解测试数据管理的方法:

  1. 拉取mysql数据库镜像:
代码语言:javascript
复制
# 当然也可以直接运行镜像,当本地没有这个镜像的时候会自动拉取
docker pull mysql
  1. 运行mysql容器时,以volumes(卷)的形式将主机目录挂载为mysql数据和配置目录:
代码语言:javascript
复制

# -v使用2次,分别指定mysql数据库配置和数据对应的主机目录
docker run -d -e MYSQL_ROOT_PASSWORD=admin --name mysql -v /data/mysql/my.cnf:/etc/mysql/my.cnf -v /data/mysql/data:/var/lib/mysql -p 3306:3306 mysql 
  1. 开始你的测试(包括修改数据库);
  2. 退出容器,此时我们得到mysql数据的第一个版本。我们可以在本地备份、分发;
  3. 若需要以此数据为基础数据,复制一份出来,启动容器时使用-v参数将复制后的路径挂载到容器即可。

总结

Docker管理测试数据主要是利用Docker数据持久化功能来实现的,容器启动时使用-v参数挂载主机目录即可。

常用命令

代码语言:javascript
复制
# 命令打包服务镜像
docker build
# 命令提交镜像的修改
docker commit 
# 命令运行镜像
docker run
# 参数的应用
docker run -p -v

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-09,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

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