写点什么

测试开发之系统篇 -Docker 常用操作

发布于: 2021 年 08 月 19 日

Docker 容器(Container)的运行基于镜像(image),您可以在 Docker Hub 上检索,或通过 Dockerfile 文件自己构建镜像。


首先拉取 MySQL 官方镜像的最新版(latest)。



使用 docker images 显示本地的镜像



使用 docker run 命令来运行容器,-d 设置在后台运行,并返回容器 ID。



使用 docker ps 查看正在运行的镜像,-a 参数显示所有实例。



使用 docker exec 命令,可进入容器内部系统的 Shell。



在容器内完成相应操作/修改后,commit 命令可提交更新到指定的镜像。



更新本地镜像到镜像管理服务器,此处先完成了到阿里云镜像服务器的登录。



以下命令分别删除容器和镜像,-f 可强制删除运行中的容器。



下面,我们简单介绍下,如何使用 Dockerfile 来构建镜像。以下 Dockerfile 以官方 ubuntu 系统镜像为起点,完成了一个简单的示例。



然后,就可以使用 docker build 命令来构建镜像。



软件测试中,我们通常使用预制好的、不同环境的 Docker 镜像,来进行相应的测试。可以使用上述的 docker exec 命令进入容器,执行测试命令;也可以直接在宿主机上执行 docker run 来执行测试。



以上使用了 Java 常见的 Maven 构建工具来执行测试,-v 表示从宿主机到容器的路径映射,它


通过$(pwd)命令获取当前项目路径,并映射到了容器内部的/usr/src/mymaven目录;将Maven类库的根目录~/.m2,映射到了容器内部的/usr/src/mymaven目录;拉取、运行名为maven的容器镜像的latest版本;容器启动时,立即运行mvn clean test命令执行测试;运行结束后容器直接退出,测试结果位于当前路径下。
复制代码


另外,Docker Compose 是一个用于定义和运行多容器的工具,如果您的服务包括了多个相互依赖的容器,可以使用他来编排、启动所有服务。详情可以参考这篇文章。


本人在开源项目中,实现了基于 Docker 容器的按需测试环境管理,详情请参照网址https://github.com/easysoft/zagent

发布于: 2021 年 08 月 19 日阅读数: 4
用户头像

还未添加个人签名 2020.04.30 加入

禅道是一款专业的国产开源研发项目管理软件,集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,完整覆盖了研发项目管理的核心流程。

评论

发布
暂无评论
测试开发之系统篇-Docker常用操作