[OpenShift Container Platform][Kubernetes][IBM Cloud Pak for Integration]

IBM MQ Advanced for Developers container image

A prebuilt container image is available for IBM® MQ Advanced for Developers. This image is available from the IBM Container Registry. This image is suitable for use with Docker, Podman, Kubernetes, and other container environments.

[Deprecated]Note: IBM MQ Advanced for Developers images were previously available from Docker Hub, but this is deprecated, and no further updates are available on Docker Hub.

Available images

IBM MQ images are stored in the IBM Container Registry:

  • IBM MQ Advanced for Developers 9.3.0.17: icr.io/ibm-messaging/mq:9.3.0.17-r2
  • IBM MQ Advanced for Developers 9.3.5.1: icr.io/ibm-messaging/mq:9.3.5.1-r2

Quick reference

  • License:
  • Where to file issues:
  • Available for the following CPU architectures:
    • amd64
    • s390x
    • ppc64le

Usage

Run IBM MQ Advanced for Developers in a container.

See the usage documentation for details on how to run a container.

To be able to use the image, you must accept the terms of the IBM MQ license by setting the LICENSE environment variable.

Environment variables supported

LANG
Set the language you want the license to be printed in.
LICENSE
Set accept to agree to the IBM MQ Advanced for Developers license conditions.
Set view to view the license conditions.
[Deprecated]LOG_FORMAT
DEPRECATED: Superseded by MQ_LOGGING_CONSOLE_FORMAT.
Change the format of the logs that are printed to the container's stdout location.
Set basic to use a simple human-readable format. This is the default value.
Set json to use JSON format (one JSON object on each line).
MQ_ADMIN_PASSWORD
Specify the password of the admin user.
Must be at least 8 characters long.
[MQ 9.3.4 Dec 2023]There is no default password for the admin user.
For IBM MQ Operator versions prior to 3.0.0, the default value is passw0rd.
MQ_APP_PASSWORD
Specify the password of the app user.
If set, this causes the DEV.APP.SVRCONN channel to become secured and only allow connections that supply a valid user ID and password.
Must be at least 8 characters long.
[MQ 9.3.4 Dec 2023]There is no default password for the app user.
For IBM MQ Operator versions prior to 3.0.0, the default value is blank (no password required) for IBM MQ clients, and passw0rd for HTTP clients.
MQ_DEV
Set false to stop the default objects being created.
MQ_ENABLE_METRICS
Set true to generate Prometheus metrics for your queue manager.
[MQ 9.3.2 Feb 2023]MQ_LOGGING_CONSOLE_SOURCE
Specify a comma-separated list of sources for logs that are mirrored to the container's stdout location.
Valid values are qmgr and web.
Default value is qmgr,web.
[MQ 9.3.2 Feb 2023]MQ_LOGGING_CONSOLE_FORMAT
Replaces LOG_FORMAT.
Change the format of the logs that are printed to the container's stdout location.
Set basic to use a simple human-readable format. This is the default value.
Set json to use JSON format (one JSON object on each line).
[MQ 9.3.2 Feb 2023]MQ_LOGGING_CONSOLE_EXCLUDE_ID
Specify a comma-separated list of message IDs for log messages that are excluded.
The log messages still appear in the log file on disk, but are not printed to the container's stdout location.
Default value is AMQ5041I,AMQ5052I,AMQ5051I,AMQ5037I,AMQ5975I.
MQ_QMGR_NAME
Set the name you want your queue manager to be created with.

For more information about the default developer configuration supported by the IBM MQ Advanced for Developers image, see the default developer configuration documentation.

[MQ 9.3.4 Dec 2023]Example queue manager YAML that describes how to specify passwords for admin and app users.

From IBM MQ 9.3.4, the admin and app user IDs no longer have default passwords. For these users, you must provide passwords when deploying a queue manager using the Development license. Here is an example queue manager YAML that shows you how to do this with the IBM MQ Operator.

The following command creates a secret containing passwords for admin and app users.
oc create secret generic my-mq-dev-passwords --from-literal=dev-admin-password=passw0rd --from-literal=dev-app-password=passw0rd
The following YAML uses these passwords when deploying a queue manager.
apiVersion: mq.ibm.com/v1beta1
kind: QueueManager
metadata:
  name: qm-dev
spec:
  license:
    accept: false
    license: L-AXAF-JLZ53A
    use: Development
  web:
    enabled: true
  template:
    pod:
      containers:
        - env:
            - name: MQ_DEV
              value: "true"
            - name: MQ_CONNAUTH_USE_HTP
              value: "true"
            - name: MQ_ADMIN_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: my-mq-dev-passwords
                  key: dev-admin-password
            - name: MQ_APP_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: my-mq-dev-passwords
                  key: dev-app-password
          name: qmgr
  queueManager:
    storage:
      queueManager:
        type: persistent-claim
    name: QUICKSTART
  version: 9.3.5.1-r2