背景:

利用jmeter实现自动化进行线上监视,要部署于多台服务器上监视,为了节省时间,方便使用,最终决定使用docker将自动化脚本打包成镜像,这样只要服务器上安装docker环境,直接下载镜像就可以使用,不需要另外安装jmeter等其他环境!

window+idea+docker

window版docker安装

下载成功后的界面显示




docker打包推送到服务器 docker 打包windows程序_容器


设置docker,将docker与本地的连接设置为不需要TLS加密。


docker打包推送到服务器 docker 打包windows程序_Powered by 金山文档_02


没有这一步无法和idea关联

idea配置

这一步是如果你要从某个仓库拉取镜像或者你要把镜像pull在某个仓库中,则需要配置!

docker安装成功后配置idea


docker打包推送到服务器 docker 打包windows程序_Powered by 金山文档_03


下载jmeter镜像

jmeter镜像网上随便找的,大家都可以自行找


docker打包推送到服务器 docker 打包windows程序_ide_04


创建一个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


docker打包推送到服务器 docker 打包windows程序_docker_05


5.idea设置--imagetag

主要作用是固定生成镜像和容器的名字


docker打包推送到服务器 docker 打包windows程序_Powered by 金山文档_06


6.启动Dockerfile文件,生成本地镜像

本地生成镜像


docker打包推送到服务器 docker 打包windows程序_docker打包推送到服务器_07


7.上传到公司的容器云中

上传的目的是方便使用,大家直接下载镜像就可以直接使用


docker打包推送到服务器 docker 打包windows程序_docker打包推送到服务器_08


docker打包推送到服务器 docker 打包windows程序_docker_09


docker打包推送到服务器 docker 打包windows程序_docker_10


2.镜像在服务器上的操作

(注意:服务器上要先安装docker环境)

1.在服务器上查看docker状态

命令:systemctl status docker


docker打包推送到服务器 docker 打包windows程序_docker打包推送到服务器_11


绿色active表示正在运行中

如未启动,可使用命令

systemctl start docker 启动docker

2.下载镜像

直接拉取镜像docker pull xxx-syhtest/xxxx-syhtest/jmeter-newcfg

如报错



1.先排查是否登陆仓库,未登录则先登陆


2.输入username 和password

显示成功之后在拉取

2.如果你已登陆,还报错,则注意自己写的镜像路径是否正确(我是因为写错导致错误)

3.拉取成功之后通过 docker images 查看镜像是否下载成功


docker打包推送到服务器 docker 打包windows程序_ide_12


3.下载成功后则运行该容器

1.运行容器

docker打包推送到服务器 docker 打包windows程序_docker打包推送到服务器_13


2.docker -ps查看容器是否成功运行


docker打包推送到服务器 docker 打包windows程序_容器_14


4.进入容器

docker exec -it 容器id /bin/bash 进入该容器内

在容器内看想看的东西


docker打包推送到服务器 docker 打包windows程序_ide_15