我正在寻找一种在 Windows Docker 容器下运行 IBM MQ 客户端的解决方案。我知道 Docker Hub 仅提供 MQ 的 Linux 实现,但是,我不需要完整的 MQ 服务器功能。相反,我希望有一种方法可以安装 MQ 客户端并简单地连接到另一个(非 Docker)系统上定义的通道和队列。为了解决这个问题,我做了以下工作:
在命令提示符下启动一个 Windows Docker 容器(用于概念证明)
复制并扩展MQ Client 9.0.0.8-IBM-MQC-Win64.zip
静默安装的 MQ 客户端(例如msiexec /i "c:\temp\Windows\MSI\IBM MQ.msi" /l*v c:\temp\install.log /q TRANSFORMS="1033.mst" AGREETOLICENSE="yes" ADDLOCAL="Client")。
注:安装成功,没有报错
建立所需的环境变量(MQServer 等)和更新的路径(类路径、lib、include 等)。
Ping MQ 服务器系统以验证连接。
我尝试使用amqsputc.exe MYDOCKER.DS.Q. 立即返回代码是MQCONNX ended with reason code 2195。不幸的是,2195它非常通用,并且没有其他日志可供查看。
我理解在 VM 下运行 MQ 与在容器下运行 MQ 之间的区别,但是由于我只需要客户端访问,我希望 MQ 客户端足够轻量级以供使用。
如果 MQ 客户端不是一个可行的方向,是否有可能通过云连接实现的 MQ 解决方案?我的旧应用程序基于 Windows,并依赖 MQ 进行作业消息传递。
一种可能的替代(更轻量级)方法:使用 IBM mq-golang 包编写 Go 应用程序并将其部署在 Windows docker 容器中。
| 归档时间: |
|
| 查看次数: |
1071 次 |
| 最近记录: |