You need to ensure you have the following tools installed:
If you are working in the Windows Subsystem for Linux, follow this guide by Microsoft to set up Docker first.
This procedure works for building the MQ Continuous Delivery release, on x86_64
, ppc64le
and s390x
architectures.
- Create a
downloads
directory in the root of this repository - Download MQ from IBM Passport Advantage, and place the downloaded file (for example,
IBM_MQ_9.1.0.0_UBUNTU_X86-64.tar.gz
for MQ V9.1.0 for Ubuntu on x86_64 architecture) in thedownloads
directory - Run
make build-advancedserver
Warning: Note that MQ offers two different sets of packaging on Linux: one is called "MQ for Linux" and contains RPM files for installing on Red Hat Enterprise Linux and SUSE Linux Enterprise Server. The other package is called "MQ for Ubuntu", and contains DEB files for installing on Ubuntu.
You can build a different version of MQ by setting the MQ_VERSION
environment variable, for example:
MQ_VERSION=9.0.5.0 make build-advancedserver
If you have an MQ archive file with a different file name, you can specify a particular file (which must be in the downloads
directory). You should also specify the MQ version, so that the resulting image is tagged correctly, for example:
MQ_ARCHIVE=mq-1.2.3.4.tar.gz MQ_VERSION=1.2.3.4 make build-advancedserver
Run make build-devserver
, which will download the latest version of MQ Advanced for Developers from IBM developerWorks. This is currently only available on the x86_64
architecture.
You can use the environment variable MQ_ARCHIVE_DEV
to specify an alternative local file to install from (which must be in the downloads
directory).
By default, the MQ images use Ubuntu as the base layer. You can build using a Red Hat Enterprise Linux compatible base layer by setting the BASE_IMAGE
environment variable. For example:
BASE_IMAGE=centos:7 make build-advancedserver
The make
tool will try and locate the right archive file under the downloads
directory, based on your platform architecture and your MQ_VERSION
environment variable, for example IBM_MQ_9.1.0.0_LINUX_X86_64.tar.gz
for MQ V9.1.0.0 on x86_64. You can also set the MQ_ARCHIVE
environment variable to set the specific file name.
Note that if you are using Red Hat Enterprise Linux, you will need to create your own base image layer, with your subscription enabled, as described here. The MQ image build needs to install some additional packages, and a subscription is required to access the Red Hat repositories.
This image includes the core MQ server, Java, language packs, and GSKit. This can be configured by setting the MQ_PACKAGES
argument to make
, or directly as a Docker build argument.