背景:
利用jmeter实现自动化进行线上监视,要部署于多台服务器上监视,为了节省时间,方便使用,最终决定使用docker将自动化脚本打包成镜像,这样只要服务器上安装docker环境,直接下载镜像就可以使用,不需要另外安装jmeter等其他环境!
window+idea+docker
- window版docker安装
不过于多说具体看某位大佬的链接, http://c.biancheng.net/view/3121.html
下载成功后的界面显示
![](https://img-blog.csdnimg.cn/img_convert/badbcba0f86d6b4602e02198387214ba.png)
设置docker,将docker与本地的连接设置为不需要TLS加密。
![](https://img-blog.csdnimg.cn/img_convert/41d223cee5c16a5d487dfff66b79153f.png)
没有这一步无法和idea关联
- idea配置
这一步是如果你要从某个仓库拉取镜像或者你要把镜像pull在某个仓库中,则需要配置!
docker安装成功后配置idea
![](https://img-blog.csdnimg.cn/img_convert/367233f020327681c161a68019ec4fab.png)
- 下载jmeter镜像
jmeter镜像网上随便找的,大家都可以自行找
![](https://img-blog.csdnimg.cn/img_convert/0fc20f9c3a26a4cee5d78d98652bbdb9.png)
- 创建一个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
![](https://img-blog.csdnimg.cn/img_convert/31a144fed3b60529bcefba5f85726ac6.png)
5.idea设置--imagetag
主要作用是固定生成镜像和容器的名字
![](https://img-blog.csdnimg.cn/img_convert/8b1fdfcb36ce4eada2ae0fa53ad4ce4f.png)
6.启动Dockerfile文件,生成本地镜像
本地生成镜像
![](https://img-blog.csdnimg.cn/img_convert/76ef30c45703538c5d3b1d3b57c01b1b.png)
7.上传到公司的容器云中
上传的目的是方便使用,大家直接下载镜像就可以直接使用
![](https://img-blog.csdnimg.cn/img_convert/5009e8620d0ad16ae1fa52559aefd82f.png)
![](https://img-blog.csdnimg.cn/img_convert/ea6ca6e42202a9f58008684403de9c90.png)
![](https://img-blog.csdnimg.cn/img_convert/af7ffcf45b1b9f6ccc3f49727235f594.png)
2.镜像在服务器上的操作
(注意:服务器上要先安装docker环境)
1.在服务器上查看docker状态
命令:systemctl status docker
![](https://img-blog.csdnimg.cn/img_convert/2750857e533dd687f4ae0fbf5f943ba5.png)
绿色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 查看镜像是否下载成功
![](https://img-blog.csdnimg.cn/img_convert/8b034b16ea53c9556c4b119f52abf656.png)
3.下载成功后则运行该容器
1.运行容器
docker run -it -d --name chaomeng harbor.qihoo.net/os360os-syhtest/os360os-syhtest/jmeter-newcfg:v0.0.1
![](https://img-blog.csdnimg.cn/img_convert/118b88aa4ae635b7f78edc898340c279.png)
2.docker -ps查看容器是否成功运行
![](https://img-blog.csdnimg.cn/img_convert/1fb31e3200bfb64a3bc413b9bf3e0192.png)
4.进入容器
docker exec -it 容器id /bin/bash 进入该容器内
在容器内看想看的东西
![](https://img-blog.csdnimg.cn/img_convert/9cb75337655417f15493f6b82736a270.png)