Building a sample or supported IBM App Connect Enterprise image using Docker

You can build a sample or supported IBM® App Connect Enterprise Docker image. You can configure IBM App Connect Enterprise to run in a Docker container on AIX®, Linux®, and Windows systems, and in IBM z/OS® Container Extensions (zCX).

About this task

To run IBM App Connect Enterprise in a Docker container, you must first build a base image containing an installation of IBM App Connect Enterprise. Instructions are available in the IBM App Connect Enterprise GitHub repository, at https://github.com/ot4i/ace-docker. Alternatively, you can download an image of IBM App Connect Enterprise from the IBM Entitled Registry.

If you plan to use IBM z/OS Container Extensions (zCX), ensure that you have installed the Linux on zSeries package. Until APAR OA59111 is available, you can build an image on IBM z/OS Container Extensions (zCX) only by using the experimental Ubuntu Dockerfiles. A pre-built image is not currently available for download for IBM z/OS Container Extensions (zCX).

A Dockerfile is a set of instructions for building a Docker image. Images can be stored in local or remote registries, and are used to create a running Docker container. To build the image, Docker executes the instructions in the Dockerfile. Each instruction causes a new image layer to be created. Docker best practice guidelines recommend that you keep the number of Dockerfile instructions to a minimum, because the number of layers in an image might be limited. The guidelines, which are available at https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices, suggest that you “find the balance between readability (and thus long-term maintainability) of the Dockerfile and minimizing the number of layers it uses. Be strategic and cautious about the number of layers you use.”

The following GitHub repository contains a Dockerfile and some additional files that show how you can build an IBM App Connect Enterprise Docker image: https://github.com/ot4i/ace-docker.

If you do not have access to the GitHub CLI (which is not currently available on IBM z/OS Container Extensions (zCX)), you can obtain the contents of the repository by running the following curl command:
curl -Lk https://github.com/ot4i/ace-docker/tarball/master | tar xz

Obtaining an IBM App Connect Enterprise server image

To obtain your required version of an IBM App Connect Enterprise server image, you require an IBM entitlement key for pulling the image from the IBM Cloud Container Registry. You need to obtain this key once only.

Procedure

Complete the following steps:

  1. Obtain an IBM entitlement key from the following location: https://myibm.ibm.com/products-services/containerlibrary.
  2. Log in to the IBM Cloud Container Registry by running this command, using cp as the username, cp.icr.io as the Docker server, and your entitlement key as the password:
    docker login cp.icr.io -u cp -p myEntitlementKey

    For more information about the Container Registry, see the IBM Cloud Container Registry documentation.

  3. Use Docker to pull the required version, where imageLocation represents one of the listed image locations in the following table:
    docker pull imageLocation
    Version Image location
    12.0.12.0-r1 cp.icr.io/cp/appc/ace:12.0.12.0-r1@sha256:33000e4b20570524c44203ba32b047cb752d3935fcd6dfa8b94ee862f75993aa
    12.0.11.0-r1 cp.icr.io/cp/appc/ace:12.0.11.0-r1@sha256:2a3ba6902daf785b7ae435a6aaa6f7018e0b9dcfec8c0d1a5e82107b01e7394c
    12.0.10.0-r1 cp.icr.io/cp/appc/ace:12.0.10.0-r1@sha256:414b7cb59a9244d87e9cc32baeaf4eaf2202d02116f27803057f5f945b454967
    12.0.9.0-r1 cp.icr.io/cp/appc/ace:12.0.9.0-r1@sha256:0e03de28d175e15238896b1ae00b54ddda6a46b793173f9a7707187d6b58202e
    12.0.8.0-r1 cp.icr.io/cp/appc/ace:12.0.8.0-r1@sha256:432986d77b781291b057ec5a01327cc9417df0d143982e00bc45302674923856
    12.0.7.0-r1 cp.icr.io/cp/appc/ace:12.0.7.0-r1@sha256:376b4008901f5306af3e4235a54f3b6a27e18cfe00a22cc6d673fd1d95b95231
    12.0.6.0-r1 cp.icr.io/cp/appc/ace:12.0.6.0-r1@sha256:003ca6615312b0987fca1c09d676a77fc2c77ecc8607dfaa49f2e8e1976a6a15
    12.0.5.0-r4 cp.icr.io/cp/appc/ace:12.0.5.0-r4@sha256:78028a324f35879f7d27ca1b501188750ba486df1656390e4aa5d9ae4843eaf1
    12.0.5.0-r3 cp.icr.io/cp/appc/ace:12.0.5.0-r3@sha256:ade918c085be57f20c15681a5f318997a04ded1be720cd46baddd553d4b1fb7f
    12.0.5.0-r1 cp.icr.io/cp/appc/ace:12.0.5.0-r1@sha256:f8f1baa76be21adfeefef8dcf56f432bad7840efdbe147217ee6dcc8710f478d
    12.0.4.0-r2 cp.icr.io/cp/appc/ace:12.0.4.0-r2@sha256:147f835b2686bd93d97605e126532548937f6de9cb1f2e75448f196ec6512024
    12.0.4.0-r1 cp.icr.io/cp/appc/ace:12.0.4.0-r1@sha256:3a92ea6b95d3fd0d39fdd2db88eca90849e8b84ef48c58fca1e9f585397e5033
  4. Re-tag the image appropriately and then push it to your preferred registry.

    You can run the image by using an example command such as:

    docker run --name aceserver -p 7600:7600 -p 7800:7800 -p 7843:7843 --env LICENSE=accept --env ACE_SERVER_NAME=ACESERVER cp.icr.io/cp/appc/ace:12.0.4.0-r1@sha256:4f19dd53435ea9d088e3e717f5bb36e5cc06fa59385781e108c6fcdbef2f99ec