工具使用(4)--docker

服务器搭建测试环境:

Linux 安装python

设置环境变量

Pip install -r rqm.txt

Git/svn

Jenkins

传统的安装环境的方式:

1,没有固定的脚本可以执行

2,系统发行版(centos,Ubuntu)不一样

3,系统版本不一致

4,python版本

5,没有办法移植

Docker:

不管想装什么软件,什么环境,只需要下载这个软件的镜像,通过docker运行

Docker镜像和容器:

文件-->镜像-->容器

镜像(image)相当于安装包

容器(container)相当于在运行的软件/进程

通过镜像形成容器

服务器安装docker

卸载老版本

sudo yum remove docker \

                  docker-client \

                  docker-client-latest \

                  docker-common \

                  docker-latest \

                  docker-latest-logrotate \

                  docker-logrotate \

                  docker-engine

-添加包地址

sudo yum install -y yum-utils$ sudo yum-config-manager \

    --add-repo \

    https://download.docker.com/linux/centos/docker-ce.repo

-安装

sudo yum install docker-ce docker-ce-cli containerd.io

-重启

sudo systemctl start docker

安装过程可能又冲突,移除这两个

sudo yum remove podman

Sudo yum remove buildah

docker指令

镜像指令:

-查看指令

指令输入:docker image,可以看到相关的指令操作

 通过 docker iamge ls 查看目前所有的镜像

-下载镜像

指令输入:docker image pull 镜像名称

访问dockerhub仓库,搜索要安装的镜像

 -移除镜像

指令输入:docker image rm 镜像id(只写部分)

 容器指令:运行容器

-基础使用

指令输入: docker container run 镜像名/id

-添加参数(每个容器的运行需要的参数不同)

指令输入 docker container run -p 8000:80 nginx

-p:开放端口,表示开启容器的80端口和22端口,分别映射到宿主机(服务器)的8000和5000端口,如nginx必须开放端口才能使用

 比如想要在客户端访问服务器上的nginx,那么先要访问服务器,连接服务器的地址(端口为8000),然后服务器映射容器的端口(80),之后我们就能在客户端访问到服务器上的容器

-d 后台运行

指令输入:docker container run -p 8000:80 -d nginx

日志就变成后台运行

 -v 添加volume数据卷

容器和服务器(宿主机)是互相不能进行交互,如果想要进行交互 就要开启数据通道(volume)

 表示把容器的目录下的文件,传输给宿主机的目录,这样的话,如果删除了这个镜像,也不会导致容器里的文件丢失,因为都保存到了宿主机上,也方便我们在宿主机上查看文件

-查看日志

命令行输入: docker container logs 容器id

-查看正在运行的容器(进程)

命令行输入: docker ps

-停止容器运行

命令行输入: docker stop 容器id

 docker搭建jenkins

 1,运行镜像

docker run -u root --rm -d --name blueocean -p 8084:8080 -p 50004:50000 -v $(which docker):/usr/bin/docker -v $HOME/jenkins:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean

2,初始化jenkins

输入docker logs jenkins容器id,找到密码

Dockerfile 定制版镜像

定制一个python镜像,因为要在jenkins上运行python,但是服务器上没有python 也没有依赖的第三方包,所以通过定制,让所有的步骤写入镜像里

-表示从哪个镜像开始构建
FROM python:3.9-slim
-容器的工作目录,相当于运行cd /api_testing,如果没有目录会自动创建
WORKDIR /api_testing   
-把本地文件(dockerfile所在目录下的所有文件)复制到容器的工作目录下
COPY . .
-安装插件
RUN pip3 install -r requirements.txt
-运行指令,表示用python3 运行run.py
CMD [ "python3", "run.py"]

在项目根目录下创建Dockerfile,里面不能有注释

 模拟定制镜像

比如已有文件

在dockerfile所在目录,输入命令 docker build .

系统会自动查找该目录下的dockerfile

 

 创建镜像完成(未命名)

 

jenkins运行docker容器

服务器上没有python或者其他python所需的库,所以不能直接在jenkins上运行代码,需要在jenkins中通过dockerfile创建一个python的容器,在容器中运行测试代码

安装docker插件

让jenkins能够调用系统中(服务器)的docker指令根据dockerfile去生成定制的镜像

安装docker和dockerpipeline

Pipeline:命令版的jenkins流程

在项目根目录下添加Jenkinsfile,把ui转化成指令

设置

Pileline选择scm

填入远程仓库地址

 

开始构建

连接远程仓库,读取jenkinsfile

 拉取远程仓库的代码

 调用系统中的docker创建dockerfile中定制的镜像

把代码复制到容器的工作目录下

 运行容器,容器里执行自动化测试代码

每次运行完成.jenkins会自动用docker指令删除镜像

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值