我正在开发一个使用IBM MQ的Sping Boot 应用程序。我希望所有这些都能在docker compose中配置。但问题是,在应用程序中使用了从浏览器中的UI创建的自定义队列,例如application.yml
文件:
...
ibm:
mq:
queues:
first: QUEUE1
second: QUEUE2
字符串
当我想从docker compose文件运行它时,我现在如何在启动时创建这些队列?当我手动运行ibm mq时,我使用这样的命令:
docker run --env LICENSE=accept --env MQ_QMGR_NAME=QM1 --publish 1414:1414 --publish 9443:9443 --detach ibmcom/mq:latest
型
现在我几乎做了同样的事情,但在docker-compose.yml
文件中:
...
ibm-mq:
image: 'ibmcom/mq:latest'
container_name: ibm-mq
ports:
- "1414:1414"
- "9443:9443"
environment:
- LICENSE = accept
- MQ_QMGR_NAME = QM1
型
是否有任何环境变量来创建自定义队列,或者我如何做到这一点?我没有找到任何解决办法。
3条答案
按热度按时间bnl4lu3b1#
根据这些信息:定制队列管理器配置,您可以创建一个名为
20-config.mqsc
的MQSC文件,其中包含一些配置选项,这些选项将在创建队列管理器时运行。只需将其放入映像上的/etc/mqm目录即可。创建
20-config.mqsc
文件如下:字符串
并将其Map到您的docker-compose.yml作为卷,如下所示:
型
对我很有效
bjg7j2ky2#
自定义队列管理器配置一章介绍了以下选项:
您可以通过多种方式自定义配置:
1.对于入门,您可以使用默认的开发人员配置,该配置对于MQAdvancedforDevelopers映像是现成可用的
1.通过创建您自己的映像并将您自己的MQSC文件添加到映像上的/etc/mqm目录中。这个文件将在创建队列管理器时运行。
1.通过使用远程MQ管理,通过MQ命令服务器、MQ HTTP API,或使用MQ Web控制台或MQ Explorer等工具。
iqih9akk3#
字符串