61 lines
2.3 KiB
Markdown
61 lines
2.3 KiB
Markdown
## Creating a MQ container
|
|
https://www.ibm.com/docs/en/ibm-mq/9.3?topic=containers-mq-advanced-developers-container-image
|
|
|
|
```bash
|
|
# Cleanup previous container
|
|
docker stop QM1
|
|
docker rm QM1
|
|
docker volume rm qm1data
|
|
|
|
# Create volume and container
|
|
docker volume create qm1data
|
|
docker run \
|
|
--detach \
|
|
--env LICENSE=accept \
|
|
--env MQ_ADMIN_PASSWORD=passw0rd \
|
|
--env MQ_APP_PASSWORD=passw0rd \
|
|
--env MQ_DEV=true \
|
|
--env MQ_ENABLE_METRICS=true \
|
|
--env MQ_QMGR_NAME=QM1 \
|
|
--name QM1 \
|
|
--publish 1414:1414 \
|
|
--publish 9157:9157 \
|
|
--publish 9443:9443 \
|
|
--volume qm1data:/mnt/mqm \
|
|
icr.io/ibm-messaging/mq:latest
|
|
|
|
# Inside the container
|
|
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" > /mnt/mqm/data/web/installations/Installation1/servers/mqweb/mqwebuser.xml
|
|
echo "<server>" >> /mnt/mqm/data/web/installations/Installation1/servers/mqweb/mqwebuser.xml
|
|
echo " <featureManager>" >> /mnt/mqm/data/web/installations/Installation1/servers/mqweb/mqwebuser.xml
|
|
echo " <feature>apiDiscovery-1.0</feature>" >> /mnt/mqm/data/web/installations/Installation1/servers/mqweb/mqwebuser.xml
|
|
echo " </featureManager>" >> /mnt/mqm/data/web/installations/Installation1/servers/mqweb/mqwebuser.xml
|
|
echo "</server>" >> /mnt/mqm/data/web/installations/Installation1/servers/mqweb/mqwebuser.xml
|
|
endmqweb && sleep 5 && strmqweb
|
|
exit
|
|
|
|
# Restart container
|
|
docker restart QM1
|
|
```
|
|
## Webconsole / Swagger UI
|
|
https://localhost:9443/ibmmq/console/#/
|
|
https://localhost:9443/ibm/api/explorer
|
|
|
|
## Using the API
|
|
```bash
|
|
curl --insecure -k https://localhost:9443/ibmmq/rest/v2/admin/action/qmgr/QM1/mqsc -X POST -u admin:passw0rd -H "ibm-mq-rest-csrf-token: value" -H "Content-Type: application/json" --data "{\"type\": \"runCommandJSON\",\"command\": \"define\", \"qualifier\": \"qlocal\",\"name\": \"MSGQ\"}"
|
|
```
|
|
|
|
### Expected output:
|
|
```bash
|
|
rasmus@pop-os:~$ curl --insecure -k https://localhost:9443/ibmmq/rest/v2/admin/action/qmgr/QM1/mqsc -X POST -u admin:passw0rd -H "ibm-mq-rest-csrf-token: value" -H "Content-Type: application/json" --data "{\"type\": \"runCommandJSON\",\"command\": \"define\", \"qualifier\": \"qlocal\",\"name\": \"MSGQ\"}"
|
|
|
|
{
|
|
"commandResponse": [{
|
|
"completionCode": 0,
|
|
"reasonCode": 0,
|
|
"message": ["AMQ8006I: IBM MQ queue created."]
|
|
}],
|
|
"overallReasonCode": 0,
|
|
"overallCompletionCode": 0
|
|
``` |