如何在Windows系统上运行Docker版IBM MQ for Developers?
Hey there! Let me walk you through getting the developer edition of IBM MQ up and running with Docker on Windows. I’ve gone through this process a few times, so I’ll break it down into straightforward, easy-to-follow steps.
Prerequisites
First, make sure you have these set up:
- Docker Desktop: Installed and configured to use the WSL 2 backend (this is the best setup for running Linux-based containers like IBM MQ on Windows). If you haven’t enabled WSL 2 yet, Docker Desktop will usually prompt you to install it during setup, or you can turn it on via Windows Features (search for "Turn Windows features on or off" and check "Windows Subsystem for Linux").
- Ensure Docker Desktop is running before you start any commands.
Step 1: Pull the IBM MQ Developer Image
Open either PowerShell or a WSL terminal (like Ubuntu) and run this command to pull the latest developer edition image:
docker pull ibmcom/mq:latest
The latest tag specifically points to the developer edition, which is free for non-production use.
Step 2: Launch the IBM MQ Container
Run this command to start a container with a pre-configured queue manager. I’ll break down each parameter so you know what’s happening:
docker run -d --name mqdev -e LICENSE=accept -e MQ_QMGR_NAME=QM1 -e MQ_ADMIN_PASSWORD=YourSecurePass123 -p 1414:1414 -p 9443:9443 ibmcom/mq:latest
Let’s unpack the flags:
-d: Runs the container in detached mode (in the background)--name mqdev: Gives your container a friendly name for easy reference-e LICENSE=accept: Mandatory flag to accept IBM’s license agreement-e MQ_QMGR_NAME=QM1: Sets the name of your queue manager (you can change this to whatever you want)-e MQ_ADMIN_PASSWORD=YourSecurePass123: Sets a password for theadminuser (replace with your own secure password)-p 1414:1414: Maps the MQ client port (1414) from the container to your host machine-p 9443:9443: Maps the web console port (9443) from the container to your host
Step 3: Verify the Container is Running
Check if the container is up and healthy with:
docker ps
You should see mqdev listed with a status of Up X minutes. To confirm the queue manager is ready, check the container logs:
docker logs mqdev
Look for a line like: IBM MQ queue manager 'QM1' is ready for use. – that means you’re good to go.
Step 4: Access the Web Console
Open your browser and navigate to https://localhost:9443. You’ll get a security warning (since the container uses a self-signed certificate) – just proceed to the page.
Log in using:
- Username:
admin - Password: The one you set with
MQ_ADMIN_PASSWORDearlier
From the web console, you can create queues, monitor messages, and manage your queue manager visually.
Step 5: Test Message Operations (Optional)
If you want to test sending/receiving messages directly from the container, you can exec into it and use IBM’s built-in tools:
- Enter the container shell:
docker exec -it mqdev /bin/bash
- Start the MQ command-line interface:
runmqsc QM1
- Create a test local queue:
DEFINE QLOCAL(TEST.QUEUE)
Type END to exit the CLI.
4. Put a test message into the queue:
amqsput TEST.QUEUE QM1
Type your message, then press Ctrl+D to send it.
5. Retrieve the message:
amqsget TEST.QUEUE QM1
You should see your message displayed.
Managing the Container
- Stop the container:
docker stop mqdev - Restart the container:
docker start mqdev - Delete the container (this will wipe all your queue data):
docker rm -f mqdev
Common Troubleshooting Tips
- If you get a "port already in use" error, change the host port in the
docker runcommand. For example, use-p 1415:1414instead of-p 1414:1414. - If the web console isn’t accessible, double-check that Docker Desktop is running and that WSL integration is enabled (Docker Desktop > Settings > Resources > WSL Integration).
内容的提问来源于stack exchange,提问作者RyszardZ

