背景:
利用jmeter实现自动化进行线上监视,要部署于多台服务器上监视,为了节省时间,方便使用,最终决定使用docker将自动化脚本打包成镜像,这样只要服务器上安装docker环境,直接下载镜像就可以使用,不需要另外安装jmeter等其他环境!
window+idea+docker
- window版docker安装
不过于多说具体看某位大佬的链接, http://c.biancheng.net/view/3121.html
下载成功后的界面显示
设置docker,将docker与本地的连接设置为不需要TLS加密。
没有这一步无法和idea关联
- idea配置
这一步是如果你要从某个仓库拉取镜像或者你要把镜像pull在某个仓库中,则需要配置!
docker安装成功后配置idea
- 下载jmeter镜像
jmeter镜像网上随便找的,大家都可以自行找
- 创建一个Dockerfile
1.先把你编写的脚本放在你指定的路径下面
2. 编写执行命令
FROM liumiaocn/jmeter:5.1.1
# 作者
MAINTAINER yxr
# 系统编码
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
# 声明一个挂载点,容器内此路径会对应宿主机的某个文件夹
VOLUME /tmp
# 应用构建成功后的jmx文件被复制到镜像内,名字也改成了yingyongfenfa.jmx
COPY src/chaomeng.jmx /chaomeng.jmx
ENV TimeZone=Asia/Shanghai
# 使用软连接,并且将时区配置覆盖/etc/timezone
RUN ln -snf /usr/share/zoneinfo/$TimeZone /etc/localtime && echo $TimeZone > /etc/timezone
5.idea设置--imagetag
主要作用是固定生成镜像和容器的名字
6.启动Dockerfile文件,生成本地镜像
本地生成镜像
7.上传到公司的容器云中
上传的目的是方便使用,大家直接下载镜像就可以直接使用
2.镜像在服务器上的操作
(注意:服务器上要先安装docker环境)
1.在服务器上查看docker状态
命令:systemctl status docker
绿色active表示正在运行中
如未启动,可使用命令
systemctl start docker 启动docker
2.下载镜像
直接拉取镜像docker pull xxx-syhtest/xxxx-syhtest/jmeter-newcfg
如报错
1.先排查是否登陆仓库,未登录则先登陆
1.先登录 docker login harbor.qihoo.net/os360os-syhtest
2.输入username 和password
显示成功之后在拉取
docker pull harbor.qihoo.net/os360os-syhtest/os360os-syhtest/jmeter-appdist:v0.0.3
2.如果你已登陆,还报错,则注意自己写的镜像路径是否正确(我是因为写错导致错误)
3.拉取成功之后通过 docker images 查看镜像是否下载成功
3.下载成功后则运行该容器
1.运行容器
docker run -it -d --name chaomeng harbor.qihoo.net/os360os-syhtest/os360os-syhtest/jmeter-newcfg:v0.0.1
2.docker -ps查看容器是否成功运行
4.进入容器
docker exec -it 容器id /bin/bash 进入该容器内
在容器内看想看的东西