教你测试开发丨测试小白也能听懂的Docker讲解和应用
什么是Docker
Docker,按照通俗易懂的理解,就是应用的容器,就像你可以把水放在杯子里,饭放在碗里,钱放在钱包里。......
你可以把网站放在Docker里,你可以把任何你想要的程序放在Docker里。
Docker能解决的问题
环境配置问题
软件开发中最大的麻烦之一是环境配置。
例如,javaweb应用程序需要操作系统才能运行。在操作系统之上,还需要jdk、tomcat、mysql,系统环境问题、配置问题,甚至jdk、tomcat版本问题都可能导致程序失败。
于是Docker来了。它把操作系统,jdk,tomcat等。全部装在集装箱里,然后装在鲸鱼号上,鲸鱼号为我们把它们送到服务器上。
在我的机器上怎么运行,在别的机器上怎么运行,都不会有问题。
总之,Docker解决了运行环境不一致带来的问题。
资源消耗的问题
运行在普通windows系统下的Linux虚拟机存在资源占用、操作步骤冗余、启动慢等诸多问题,但Docker就不一样了。
Docker是Linux容器的一种封装,提供了一个简单易用的容器接口。与其他虚拟机相比,Docker具有启动速度更快、资源占用更少、体积更小的优点,因此是目前最受欢迎的Linux容器解决方案。
Docker的三个概念
图片
本质上,图像是一系列文件,可以包括我们的应用程序的文件和我们的应用程序的运行环境的文件。
集装箱
它是集装箱码头的运行部件。启动映像是一个容器,容器是一个隔离的环境。多个容器不会互相影响,这样容器中的程序就可以在一个相对安全的环境中运行。
仓库(码头中心)
Dockerwarehouse可以共享和管理Docker图像,将其转移到仓库,或者从仓库拉到目的地。
图像相当于打包的版本。镜像启动后,在容器中运行,仓库就是存储镜像的地方。
Docker安装在CentOS上
看看是否支持
Docker要求centos系统内核版本高于3.10,所以需要输入命令才能看是否支持。
使用uname-r查看:
设置仓库
$yuminstall-yyum-utils
设备映射器持久数据
lvm2
安装Docker
$yum-config-manager
-添加-回购
https://download.docker.com/linux/centos/docker-ce.repo
安装Docker引擎-社区
$yum安装docker-cedocker-ce-CLIcontainerd.io
开始停靠
$systemctl启动docker
运行hello-world
验证Docker安装是否成功。
$docker运行hello-world
如图所示,安装成功。
Docker基本命令使用
·dockerimgaes查看本地的镜像docker图像查看本地图像
dockerpulltomcat:7.0.108将图像从仓库拉至本地。
dockerrun-d-p8080:8080Tomcat:7.0.108
-d代表后台运行
-p表示将容器的8080端口映射到主机的8080端口,主机在前,容器端口在后。
dockerps查看正在运行的容器
查看所有集装箱
dockerexec-itxxxxxbash进入容器
Xxxx是使用dockers命令查看的容器的id。
使用Docker部署一个简单的web应用程序
获取所需的mysql映像
1.使用命令:dockerpullmysql:5.6将图像从仓库拉到本地;
2.使用命令:
dockerrun-itd-nameMYSQL-p3306:3306-eMYSQL_ROOT_PASSWORD=123456MYSQL:5.6
名称:对容器的命令是mysql。
-e:在mysql容器的同时创建一个密码为123456的root用户。
3.进入这个容器看一看:
使用命令:dockerps检查容器id;
使用命令:dockerexec-itxxxbash。
如上图,代表成功。
配置tomcat映像中的内容
1.使用命令进入tomcat容器:
此时,无法在本地浏览器中访问tomcat主页,因为tomcat容器中有两个webapps文件夹。
如上图所示,需要将webapps.dist的内容复制到webapps文件夹中,并删除webapps.dist文件夹,才能正常访问。
2.将包从本地副本系统部署到tomcat容器中的webapps目录:
使用命令:
dockerCPXXXc4d18FD1a170:/usr/local/Tomcat/webapps
3.tomcat会自动部署部署包,配置系统配置文件,修改数据库的路径和密码等。数据库地址会在mysql容器中查看,应该对应mysql容器的ip地址和端口。
如果容器中的提示符下没有vi命令,您可以使用以下命令:
apt-get更新
apt-get安装vimdocker
来安装。
查看部署的系统
可以直接访问虚拟机的ip地址加上预置的端口号和war包的文件名,就可以正常访问登录了。至此,javaweb应用在容器中的部署已经完成。
摘要
使用docker部署应用,无疑会大大减少系统环境配置的问题,节省测试人员的部署时间。
你只需要简单的从代码库中拉取需要的镜像就可以完成配置,不需要一步一步的安装软件和依赖项,然后一步一步的配置环境,大大提高了部署的效率。
用起来也比较简单。由此可见,无论开发测试还是运维,绝大多数人都应该接触过Docker,所以学习Docker还是很有必要的。
**推荐一个“Python自动化测试学习交流群”给大家:
请关注+私信回复:";测试";可以免费获得软件测试学习资料,同时进群学习交流~~
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。