#docker-wmq
前几天已经把WebSphere MQ 7.5安装在CentOS 7上了,今天经理又要求在另外一个云的另一台服务器上准备一个新环境,看起来安装MQ的需求还是很旺盛的。因此笔者决定制作一个Docker镜像,以加速MQ的准备 ##MQ软件的安装
docker run -it -v $PWD:/tmp/software centos:7.1.1503 /bin/bash
./mqlicense.sh -accept -text_only
,接受许可证
执行 rpm -ivh MQSeriesRuntime-*.rpm MQSeriesServer-*.rpm
docker commit wmq_container xsh/wmq75:0.1
##制作可以提供服务的MQ image
docker build --tag xsh/wmq75:0.2 .
docker run -d -p 1414:1414 --name wmq xsh/wmq75:0.2
docker run -d -p <yourport>:<yourport> -v $PWD/some_queue_manager.sh:/start_queue_manager.sh --name wmq xsh/wmq75:0.2
##使用MQ Explorer测试队列
##关于人工而非Dockerfile安装MQ软件 由于Dockerfile安装时无法有效的删除安装介质,会导致做出的image过大,所以笔者使用了人工安装的方法。有兴趣的读者可以试试Dockerfile2,做出的image要927MB,比前文所述方法做出的Image要大约500MB ##关于操作系统参数的优化 MQ安装步骤中有一步要求su mqm -c "/opt/mqm/bin/mqconfig",检查MQ的执行环境符合最小要求,不符合最小要求则可能无法启动队列管理器。结合Docker Engine的特点,可以在运行Docker Engine的服务器做相应的配置,Docker容器启动时即会带入相关的参数。
说明:经过测试,修改运行Docker Engine服务器系统参数的方法在Ubuntu Server 14.04.4 LTS 64bit + Docker 1.10.有效果;在Cent 6.5 + Docker 1.7.1没有效果。如果哪位读者知道在Docker 1.7.1上的设置方法,请给我留言
执行docker exec -it wmq /bin/bash
,进入Docker容器
执行 su mqm -c "/opt/mqm/bin/mqconfig
", 查看哪些参数需要设置
按照mqconfig的提示信息设置操作系统参数,如笔者的环境提示以下的Fail
System V Semaphores
semmsl (sem:1) 250 semaphores IBM>=500 FAIL
semmns (sem:2) 1 of 32000 semaphores (0%) IBM>=256000 FAIL
semopm (sem:3) 32 operations IBM>=250 FAIL
semmni (sem:4) 1 of 128 sets (0%) IBM>=1024 FAIL
System Settings
file-max 1568 of 185426 files (0%) IBM>=524288 FAIL
tcp_keepalive_time 7200 seconds IBM<=300 FAIL
Current User Limits (mqm)
nofile (-Hn) 4096 files IBM>=10240 FAIL
nofile (-Sn) 1024 files IBM>=10240 FAIL
则在(运行Docker Engine的服务器 )/etc/sysctl.conf中设置:
kernel.sem = 500 256000 250 1024
fs.file-max = 524288
net.ipv4.tcp_keepalive_time = 300
在(运行Docker Engine的服务器 )/etc/security/limits.conf中设置:
mqm soft nofile 10240
mqm hard nofile 10240
##参考文章
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型