【自动化测试】从0开始玩转docker ------- 03基础使用

1595 篇文章 74 订阅
1439 篇文章 116 订阅
本文介绍了CI/CD在软件开发中的重要性,特别是对测试团队。文章详细讲解了如何使用Docker进行服务启动、镜像管理(包括查看、搜索、拉取、保存、加载和删除)、容器操作(启动、查看、停止、拷贝、删除及端口映射)以及存储挂载和容器进入与退出。此外,还强调了Docker在快速搭建测试环境和应对多版本需求中的作用。
摘要由CSDN通过智能技术生成

目的

CI / CD在目前各类互联网企业中已然成为推动软件开发行为的重要基础设施服务。同样的对于测试团队来说更是有着举足轻重的重大意义,无论是测试左移的具象化提现亦或是持续测试的顺利开展,掌握这一技能已是广大软件测试工程师的必修课。分享这一技术笔记也是希望除了自己团队以外的广大测试同学们可以有体系的学习这一技能。

接上回

我们已经对docker进行完了基本配置,接下来就该熟悉docker的一些基础命令了。

基础命令

启动、重启、关闭docker服务

systemctl start docker
systemctl restart docker
systemctl stop docker

设置开机启动

systemctl enable docker

查看服务运行状态

systemctl status docker

查看版本号

docker version

查看详细系统信息,比如容器数量、镜像等

docker info

镜像命令

查看自己的镜像列表

docker images

搜索docker hub中的镜像

docker search 关键字
  • 1

比如搜索MariaDB

另外可以使用filter进行条件的过滤,以确保更精准的定位。
比如只搜索星数至少为5的相关镜像。

docker search --filter stars=5 mariadb
  • 1

筛选出官方版本的mariadb

docker search --filter "is-official=true" mariadb

拉取最新版镜像

docker pull 镜像名

如果需要指定版本号则可以加tag

docker pull 镜像名:tag

比如需要拉取5.6版本的mysql则输入以下命令

docker pull mysql:5.6

注:软件对应的版本号可以在Docker Hub中进行查看

以下画面就说明镜像已经拉取成功了

保存镜像

docker save 镜像名 -o 保存路径/保存文件名

比如将mysql的镜像保存到opt目录下,文件名为mysql.tar

docker save mysql -o /opt/mysql.tar

保存完的文件可以在任何安装了docker的服务器内进行加载和使用。

加载镜像

docker load -i 文件保存位置

比如将其他机器内保存的mysql.tar压缩包导入服务器,放入home目录下,再使用上述命令进行镜像加载即可。

docker load -i /home/mysql.tar

删除镜像

删除单个镜像,参数f为强制删除

docker rmi -f 镜像名或镜像ID

删除多个镜像,镜像名之间用空格隔开

docker rmi -f 镜像名1 镜像名2

删除所有镜像,参数a代表全部,参数q代表只显示ID

docker rmi -f $(docker images -aq)

镜像标签

在搭建测试环境中,常常会因为遇到需要频繁切换中间件或复现不同环境内出现的Bug的情况。针对快速搭建对应的测试环境,镜像标签就可以帮我们解决这一个问题。

docker tag 原镜像名:tag 新镜像名:tag

例如需要将5.6版本的mysql打上新的标签,我们可以输入以下命令

docker tag mysql:5.6 mysql:dev

以此类推,将dev的mysql打上新的标签也是如此

docker tag mysql:dev mysql:uat

再使用docker images进行查看

基于以上的操作,我们可以进行快速的回滚并创建指定版本的容器。

docker run -itd mysql:uat

容器命令

启动容器

参数i代表以交互模式启动,t代表为容器分配一个伪输入终端,d代表后台运行容器并返回ID

docker run -itd 镜像名:tag

如果需要给容器起个别名,那我们启动时可以输入

docker run -itd --name 别名 镜像名:tag

例如,我们要启动tomcat并起名为tomcat-test

docker run -itd --name tomcat-test tomcat

查看已运行容器

docker ps

查看所有容器(启动和已停止的)

docker ps -a

停止容器

docker stop 容器名或容器ID

名字和ID可以通过docker ps查看

docker stop tomcat-test

拷贝容器

将容器内的文件拷贝至本机

docker cp 容器名或容器ID:原路径 目标路径

比如要将原路径的tomcat的BUILDING.txt拷贝至home目录下

docker cp tomcat:usr/local/tomcat/BUILDING.txt /home

将本机的文件拷贝至容器内

docker cp 原路径 容器名或容器ID:目标路径

比如将本机的config.ini复制到tomcat的主目录中

docker cp config.ini tomcat:/

删除容器

删除单个容器,参数f为强制删除

docker rm -f 容器名或容器ID

删除多个容器,容器之间用空格隔开

docker rm -f 容器名1或容器ID1 容器名2或容器ID2

删除全部容器,参数a指定全部,参数q只返回ID

docker rm -f $(docker ps -aq)

容器端口印射

在日常的使用过程中,容器的默认服务端口可能会被占用,此时我们就需要使用到端口印射来避开那些已经被使用了的端口。

我们在启动容器的同时,使用参数p来指定需要印射的服务端口即可。

docker run -itd -p 宿主机端口:容器服务端口 镜像名

比如我想启动tomcat的时候,8080端口已被其他服务占用,那就需要使用参数p将原有服务的8080端口印射程其他未被占用的端口。

docker run -itd --name tomcat01 -p 9999:8080 tomcat

在docker ps中查看时,可以发现tomcat的原有服务端口已经被印射成了指定的端口号。

存储挂载

当我们的容器需要进行一些持久化的业务时,或者为了防止服务器以外断电或其他硬件故障而导致的数据的丢失,我们就可以使用挂载操作将容器内的数据直接挂载至服务器的存储设备内。

同样的,在创建容器时我们可以使用参数v进行挂载操作。

docker run -itd -v 宿主机存储路径:容器内数据路径 镜像名

比如创建mysql容器的同时完成数据库数据的存储挂载

docker run -itd --name mysql01 -v /home/mysql/data:/var/lib/mysql mysql

进入容器

当我们要对容器进行一些配置操作的时候,就需要进到容器内部。

参数i代表即使没有附加也保持STDIN 打开,参数t代表分配一个伪终端

docker exec -it 容器名或容器ID /bin/bash

例如进入名为tomcat01的容器内,则可以输入以下命令

docker exec -it tomcat01 /bin/bash

输入完查看所处位置已经跳转至tomcat容器内部

退出容器

exit

软件测试学习资源分享

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

这些资料,对于想进阶【自动化测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等配套学习资源免费分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值