From MQ 9.3.3.0, MacOS developers can now build and run an IBM MQ container image natively on Apple Silicon without the need for Rosetta emulation.
Instructions for building the image are published the MQ Container GitHub repo. Once setup with the prereqs (GNU Make and Podman or Docker), it's just three commands to get up and running.
git clone https://github.com/ibm-messaging/mq-container.git
cd mq-container
make build-devserver
The Makefile will check the system environment to determine if either the podman or docker command is available. Where both are available, then the default will be to build the container image using podman. It is possible for users to set the COMMAND variable to explicitly choose docker as follows:
make build-devserver COMMAND=docker
The Makefile will pull down the MQ install image and build a container image. The image will be tagged automatically for the version build e.g., 9.3.3.0-arm64 which you can then use it to get up and running with a containerised MQ queue manager by following this tutorial.
Please note the following known restriction with the arm64 image:
- It is not possible to run the IBM MQ XR component which provides MQTT and AMQP based messaging.
Help! The image download step is failing for me...
The container build process should pull in the latest available IBM MQ version for the Mac platform. If you get an error in the download step, the following steps should help resolve any issues with availability of specific versions.
- Check this URL so see which versions are available for IBM-MQ-Advanced-for-Developers-Non-Install-LinuxARM64
- Find the latest version that is available, for example 9.4.0.0-IBM-MQ-Advanced-for-Developers-Non-Install-LinuxARM64.tar.gz and make a note of the version number.
- Run MQ_VERSION=9.4.0.0 make build-deserver