Stack Overflow Asked by LumberJack on January 19, 2021
I’m looking for a solution to run IBM MQ Client under a Windows Docker container. I know that Docker Hub only provides Linux implementations of MQ, however, I do not need full MQ Server capability. Instead, I’m hoping there’s a means to install the MQ Client and simply connect to a Channel and Queues defined on another (non-Docker) system. To approach this, I’ve done the following:
Spun up a Windows Docker container running under a command prompt (For proof of concept)
Copied in and expanded MQ Client 9.0.0.8-IBM-MQC-Win64.zip
Silently installed MQ Client (e.g. msiexec /i "c:tempWindowsMSIIBM MQ.msi" /l*v c:tempinstall.log /q TRANSFORMS="1033.mst" AGREETOLICENSE="yes" ADDLOCAL="Client"
).
Note: The installation was successful and without error
Established required environment variables(MQServer, etc.) and updated paths (classpath, lib, include, etc).
Pinged the MQ server system to verify connectivity.
I attempted to put a message on a working, verified queue using, amqsputc.exe MYDOCKER.DS.Q
. The immediate return code is MQCONNX ended with reason code 2195
. Unfortunately, 2195
is pretty generic and there are no other logs available to review.
I understand the differences between running MQ under a VM versus a container, however since I only need Client access, I was hoping MQ Client was lightweight enough to be usable.
If MQ Client is not a viable direction, is there an MQ solution which might be doable via a Cloud connection? My legacy application is Windows-based and relies on MQ for job messaging.
Instead of installing the Full client install using msiexec
, I would recommend that you use the IBM MQ Redistributable client install. This is packaged as a simple zip file for windows which you can extract into any location you choose.
You can find more information about the Redistributable client on the Knowledge Center page Redistributable IBM MQ clients.
You can download the IBM MQ Redistributable clients using the links below:
IBM MQ 9.2 Redistributable client.
Note: IBM MQ 8.0 is out of support as of April 30th 2020 and IBM MQ 9.0 is going out of support on September 30th 2021.
The IBM Knowledge center page Limitations and other considerations for redistributable clients gives these requirements:
Windows C runtime libraries
You might have these libraries on your machine already, but if you do not, you need to download and install the following Microsoft C/C++ runtime libraries:
- Microsoft Visual C++ Redistributable 2008
- Microsoft Visual C++ Redistributable 2012
The download links for the redistributable downloads for each of these libraries can be found at The latest supported Visual C++ downloads.
Answered by JoshMc on January 19, 2021
A possible alternative (and lighter) approach: Write a Go app using the IBM mq-golang package and deploy that in your Windows docker container.
Answered by intltechventures on January 19, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP