IBM MQ for Apple Silicon
Asked Answered
H

4

5

Is there a solution to make this docker image https://hub.docker.com/r/ibmcom/mq run on Apple M1 chips? For Intel chips, I was able to run this image by:

docker run -e LICENSE=accept -e MQ_QMGR_NAME=QM1 -p 1414:1414 -p 9443:9443 ibmcom/mq

Is there a custom build or an official IBM plan to create an Apple M1 compatible version of this image?

Harelda answered 12/2, 2022 at 22:59 Comment(2)
whats IBMs Business Case to support a non Server niche Architecture? honest question... and perhaps an answer to your question as well.Gadwall
I will state my business case: I am maintaining an app that uses this MQ implementation and I would like to be able to connect to a local IBM MQ server from my M1 Mac. I was wondering if there is a workaround for this.Harelda
L
4

The only way I got this to work is to emulate Ubuntu Server with UTM, and install docker and IBMMQ image there. Then you can just connect to the docker container through UTM from your host machine. Not the greatest solution, but atleast a workaround for now.

Lavabo answered 16/2, 2022 at 20:12 Comment(3)
Hei @MPrinsloo, thanks for the answer. If I understand correctly, is that I should use a virtual machine with Ubuntu, fire the IBM MQ in a docker container and connect from the host machine to the MQ instance that's running on the Docker instance of the virtual machine, right?Harelda
And this Ubuntu Wm will be x86, right? Will that even work with M1? I mean, having an ARM CPU on the host, with an ARM virtual machine app (what is UTM anyway?), will I be able to launch and x86 or x64 OS?)Harelda
You will be able to emulate x86 with UTM (mac.getutm.app). When you create a new virtual machine with UTM you can pick either emulate (x86 and x64) or only virtualise (ARM64). I chose emulate, installed Ubuntu Server 20.04 (ubuntu.com/download/server, beware it takes very long to install), and installed Docker on the Ubuntu server and fetched IBMMQ. The emulation is quite buggy still, but this works well enough to run IBMMQ.Lavabo
Q
5

This has already been requested from IBM, you can view and vote on it here.

Quinonez answered 12/2, 2022 at 23:47 Comment(0)
L
4

The only way I got this to work is to emulate Ubuntu Server with UTM, and install docker and IBMMQ image there. Then you can just connect to the docker container through UTM from your host machine. Not the greatest solution, but atleast a workaround for now.

Lavabo answered 16/2, 2022 at 20:12 Comment(3)
Hei @MPrinsloo, thanks for the answer. If I understand correctly, is that I should use a virtual machine with Ubuntu, fire the IBM MQ in a docker container and connect from the host machine to the MQ instance that's running on the Docker instance of the virtual machine, right?Harelda
And this Ubuntu Wm will be x86, right? Will that even work with M1? I mean, having an ARM CPU on the host, with an ARM virtual machine app (what is UTM anyway?), will I be able to launch and x86 or x64 OS?)Harelda
You will be able to emulate x86 with UTM (mac.getutm.app). When you create a new virtual machine with UTM you can pick either emulate (x86 and x64) or only virtualise (ARM64). I chose emulate, installed Ubuntu Server 20.04 (ubuntu.com/download/server, beware it takes very long to install), and installed Docker on the Ubuntu server and fetched IBMMQ. The emulation is quite buggy still, but this works well enough to run IBMMQ.Lavabo
D
1

I don't have an M1 mac, so I can't test it but according to this, it says you can try adding --platform linux/amd64.

If that doesn't work then you'll have to build your own (you can base it off the Dockerfile they provided in their GitHub repo. The ones from the official Dockerhub only supports amd64 and s390x architectures.

Disannul answered 12/2, 2022 at 23:15 Comment(3)
Using "platform linux/amd64" will not work, as no image is available yet on this platform. I guess I have really two options here: 1. Wait for IBM to compile such version. 2. Build this myself using the github repo. (not sure exactly how to to this, but I guess it's possible).Harelda
Even building it yourself will probably have a lot of difficulties as the dependencies would have to be that there are ARM versions of the base image as well as any software/package dependencies required to build IBM MQ. I would give it a try for sure, but probably not dwell on it too much. Waiting for IBM is likely the most viable option atm.Disannul
@Harelda You probably have a type but linux/amd64 is available - somehow IBM managed to break something in emulation mode that makes it think its running twice and shuts down ... but from the Docker perspective the emulation is working at least in part and works flawlessly for any other image i've encountered so far ... except ibmMQ. I guess it would work if somebody knows how to kill that check with an option maybe?Susy
Y
0

@hypercube, it's possible to build an IBM MQ 9.3.3.0 container for developers on Apple Silicon (Arm64) using this repo https://github.com/ibm-messaging/mq-container and doc https://github.com/ibm-messaging/mq-container/blob/master/docs/building.md

Yellowstone answered 30/6, 2023 at 16:4 Comment(1)
See also community.ibm.com/community/user/integration/blogs/…Sorcerer

© 2022 - 2024 — McMap. All rights reserved.