既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
- 搭建测试环境
- 搭建各类基础服务
- 搭建测试执行环境(自动化测试脚本执行环境)
在刚开始的时候,由于网络的原因,我们在下载的镜像的时候,常常速度是非常慢的。所以如果下载镜像很慢的同学,可以尝试配置国内的加速器加速镜像下载 - 登录阿里开发者平台:
开放云原生应用-云原生(Cloud Native)-云原生介绍 - 阿里云 - 点击“创建我的容器镜像”
- 注册/登录后,进入Docker 镜像仓库,选中加速器 Tab
阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台 - 根据个人需要, 选择运行Docker 的OS,按照要求修改Docker配置文件。
步骤如下:
修改配置文件 :
添加红色部分到
保存文件
好记性不如烂键盘,单单只背下来Docker的命令是不够的,还要自己多敲多去练习,才能更熟练、更深刻的掌握Docker。
下载镜像
查看已下载的镜像
我们可以看到刚刚下载的Jenkins镜像
那么,其中的每个字段又是什么意思呢?
删除镜像
我们可以看到,Jenkins镜像已经被成功删除了
下载指定版本的镜像
此时我们可以发现,镜像的TAG不再是latest而是我们所指定的版本号
将镜像打包成一个tar包
将打包的镜像加载出来
给镜像加tag号
打了tag之后,会发现多了一个3.6.0 tag版本的镜像,但是image ID和原本的保持一致
然后我们删掉这个镜像,发现提示untagged,且这个镜像被成功删除
给镜像改名称
然后我们就可以看到,多了一个叫做testjenkins的镜像,但是image ID和原本的保持一致
push镜像到镜像仓库
容器运行命令参数
容器管理命令参数
接下来我们继续使用Jenkins进行一个实战的演练
docker ps也是我们常用的一个命令,下面是docker ps后显示的启动容器信息,其中每个字段都有自己的含义
CONTAINER ID:容器ID(和image ID无关)
如何删除这个启动的容器呢?是否可以和镜像一样,直接rm呢?
从图中我们可以看到,如果直接删除运行中的容器会报错,需要先stop然后删除
或者直接
我们从图片中可以看出,虽然这个容器是启动的状态,但是使用docker rm -f依然可以直接删除
在docker ps 的时候我们可以看到,PORTS字段下面显示了两个端口号,这两个端口号是做什么的呢?
其实呀,这两个端口号,是容器故意对外暴露的端口号,我们可以通过端口映射的方式,使容器内部的端口号与宿主机的某个端口号产生链接。这样我们就可以通过端口号,去访问或者操作容器啦
如何指定端口号呢?就是使用 -p 参数
将宿主机的8080端口指向容器的8080端口,这样我们在宿主机的8080端口就可以访问到Jenkins啦
在启动的过程中,我们可能会碰到各种各样的问题,我们如何定位问题呢?
当然是使用查看log大法
学到这里,可能有同学会有疑虑啦,如果docker挂掉,在docker内产生的数据应该怎么办呢,这些数据应该如何保存呢
接下来,我们要了解的,docker是如何进行数据持久化的呢?
当我们启动容器时,添加了数据挂载的参数-v 宿主机_path:container_path,docker就可以通过数据挂载的方式,使容器和宿主机的数据进行同步保存,
接下来我们通过实战的方式,就可以看到docker是如何实现这一功能的
1.启动Jenkins,要增加-v挂载卷参数
注意:挂载权限:sudo chown -R 1000:1000 /home/docker/jenkins
2. 使用docker exec -it myjenkins bash进入刚启动的jenkins容器,并cat /var/jenkins_home/secrets/initialAdminPassword这一步是为了找到jenkins的启动密码
3.输入密码,进入Jenkins页面创建一个job。
4.删掉容器,重新执行之前的命令,重启Jenkins,进入页面,发现job没有因为容器被删而丢失
注意:如果容器无法成功启动,且log提示权限问题,则在启动命令中添加-u 0
docker exec -it {容器名称} bash
进入容器,exec的意思是在容器中运行一个命令。如果使用bash 并且指定了-it 就会打开容器的shell 交互
docker cp {container:name}:{container_path} {host_path}把宿主机上的一个文件copy到容器中
有一些容器启动时,我们需要给他添加一些初始的参数,比如mysql,我们需要给他添加一些初始的账号和密码,docker如何操作这种情况呢?让我们动动小手,演练一下吧
- 启动mysql容器,注意要加-e传递参数
- 通过数据库连接工具连接数据库
host要填写宿主机的ip地址,Password是我们一开始设定的
端口号填写映射的宿主机的端口号 - 在数据库中创建一个表
- 删掉容器,然后重启
- 进入刚刚创建的容器内的mysql路径下,发现有刚刚添加的表,这个就是容器的数据持久化的功能啦
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**