|
1 | | -# IBM MQ Internet Pass-Thru (SupportPac MS81) on Docker |
| 1 | +# IBM MQ Internet Pass-Thru in a container |
2 | 2 |
|
3 | | -IBM® MQ Internet Pass-Thru (MQIPT) is an extension to the base IBM MQ product. MQIPT runs as a stand-alone service that can receive and forward IBM MQ message flows, either between two IBM MQ queue managers or between an IBM MQ client and an IBM MQ queue manager. |
| 3 | +IBM® MQ Internet Pass-Thru (MQIPT) is an optional component of IBM MQ. MQIPT runs as a stand-alone service that can receive and forward IBM MQ message flows, either between two IBM MQ queue managers, or between an IBM MQ client and an IBM MQ queue manager. |
4 | 4 | MQIPT enables this connection when the client and server are not on the same physical network. |
5 | 5 |
|
6 | | -This repository contains all of the resources you will need to create a Docker image containing MQIPT for use in your infrastructure. |
| 6 | +This repository contains all the resources that you will need to create a container image that contains MQIPT. |
7 | 7 |
|
8 | 8 | ## How to build this image |
9 | 9 |
|
10 | | -1. First download MQIPT from the [IBM MQ SupportPacs website](http://www-01.ibm.com/support/docview.wss?rs=171&uid=swg27007198#3). MQIPT is a `Category 3 - Product Extensions SupportPacs` with the identifier `MS81`. |
| 10 | +1. Download MQIPT for Linux x86_64 from [Fix Central](https://ibm.biz/mq93ipt). The name of the download file is similar to `9.3.x.x-IBM-MQIPT-LinuxX64.tar.gz`. |
11 | 11 | 2. Ensure the MQIPT downloaded tar file is available in this directory. |
12 | | -3. If the tar file is not called `ms81_2.1.0.4_amd64_linux_2.tar` you will need to either: |
13 | | - * Rename the file. |
14 | | - * Supply the new name as a `--build-arg IPTFILE=<new name>` when executing the docker build command in the next step. |
15 | | - * Alter the Dockerfile `IPTFILE` ARG to specify the new file name. |
16 | | -4. Run the following command in this directory to build the Docker image. `docker build -t mqipt .` |
| 12 | +3. Run the following command in this directory to build the container image: |
| 13 | + `docker build --build-arg MQIPT_ARCHIVE=<tar_file_name> -t mqipt .` |
17 | 14 |
|
18 | | -Once the Docker build has completed you will have a new Docker image called `mqipt:latest` available which contains MQIPT. |
| 15 | +Once the build has completed you will have a new container image called `mqipt:latest` which contains MQIPT. |
19 | 16 |
|
20 | 17 | ## How to run this image |
21 | 18 |
|
22 | | -Before you run the MQIPT docker image you should understand how MQIPT operates, please ensure you have read the [MQIPT knowledgecenter](https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.0.0/com.ibm.mq.ipt.doc/ipt0000_.htm) and any documentation supplied with the MQIPT installation tar. |
| 19 | +Before you run the MQIPT container image you should understand how MQIPT operates. You can read about MQIPT in the [IBM MQ documentation](https://www.ibm.com/docs/en/ibm-mq/9.3?topic=overview-mq-internet-pass-thru). |
23 | 20 |
|
24 | | -First you need to create your [MQIPT configuration file](https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.0.0/com.ibm.mq.ipt.doc/ipt2540_.htm) and place this file in a directory that can be [mounted to a docker container](https://docs.docker.com/storage/). This file **must** be called `mqipt.conf`; there is a sample file available in the MQIPT installation tar. |
| 21 | +1. Create a MQIPT home directory that can be [mounted to a container](https://docs.docker.com/storage/). The MQIPT home directory contains configuration files and log files that are produced when MQIPT runs. |
| 22 | +2. Create your [MQIPT configuration file](https://www.ibm.com/docs/en/ibm-mq/9.3?topic=reference-mq-internet-pass-thru-configuration) in the MQIPT home directory. This file **must** be called `mqipt.conf`. A sample configuration file is supplied with MQIPT in `samples/mqiptSample.conf`. |
| 23 | +3. Run the following command to start a container with your built MQIPT image: |
| 24 | + `docker run -d --volume <mqiptHome>:/var/mqipt -p <hostPort>:<containerPort> mqipt` |
| 25 | + where `mqiptHome` is the MQIPT home directory you created in step 1, and `containerPort` is a port to be exposed that MQIPT is listening on, such as a route port. |
25 | 26 |
|
26 | | -Run the following command to start a container with your built MQIPT image: |
| 27 | + If you want the container ports to be accessible outside of the host you must expose the required ports. This maps the container port to a port on the host, so that you can connect to the port on the host and access MQIPT. You might need to provide more than one `-p` parameters to expose all the ports that are required by your MQIPT configuration. **Note:** These ports must be available on the host. If the ports are not available, the Docker container will not start. |
27 | 28 |
|
28 | | -`docker run -d --volume <path to config>:/var/mqipt -p 1414:1414 mqipt` |
29 | | - |
30 | | -If you want the container ports to be accessible outside of the host you must expose the required ports, this will map the container port to a port on the host, meaning you can connect to that port on the host and access MQIPT. You will need to provide multiple `-p` parameters to expose all of the ports required by your MQIPT configuration. **Note:** these must be available otherwise the docker container will fail to start. |
31 | | - |
32 | | -See [Docker Run reference](https://docs.docker.com/engine/reference/run/#expose-incoming-ports) for more information on how to expose container ports. |
| 29 | + For more information about how to expose container ports, see [Docker Run reference](https://docs.docker.com/engine/reference/run/#expose-incoming-ports). |
33 | 30 |
|
34 | 31 | ## Further information |
35 | 32 |
|
36 | | -For further information on MQIPT please view the [MQIPT knowledgecenter](https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.0.0/com.ibm.mq.ipt.doc/ipt0000_.htm) |
| 33 | +For more information about MQIPT, see MQIPT documentation in the [IBM MQ documentation](https://www.ibm.com/docs/en/ibm-mq/9.3?topic=overview-mq-internet-pass-thru). |
37 | 34 |
|
38 | 35 | ## License |
39 | 36 |
|
40 | | -The Dockerfiles and associated code and scripts are provided as-is and licensed under the [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html). |
| 37 | +The Dockerfile and associated code and scripts are provided as-is and licensed under the [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html). |
41 | 38 |
|
42 | 39 | ## Copyright |
43 | 40 |
|
44 | | -© Copyright IBM Corporation 2018 |
| 41 | +© Copyright IBM Corporation 2018, 2023 |
0 commit comments