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

Note: This image is not suitable for use with the App Connect Operator. If you want to work with the App Connect Operator, you can obtain an image from the IBM Cloud Container Registry and then build upon it. For more information, see https://www.ibm.com/docs/en/app-connect/12.0?topic=acicltsc2-obtaining-app-connect-enterprise-server-image-from-container-registry

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.20-r1 cp.icr.io/cp/appc/ace:12.0.12.20-r1@sha256:de4f9cb98edb20b554e56dd302440b722c2190559b2a2c3ecb07ed46db7700ec
    12.0.12.19-r1 cp.icr.io/cp/appc/ace:12.0.12.19-r1@sha256:896cde9a130cc03a4b800e815223a4a40f1dd4e1e80a16a895a3ec48d9b6651d
    12.0.12.18-r1 cp.icr.io/cp/appc/ace:12.0.12.18-r1@sha256:ee83c1f4a3b90dcf431fa32ec269c95b5f21d8bc8605774ec2ed4dc8809d1091
    12.0.12.17-r1 cp.icr.io/cp/appc/ace:12.0.12.17-r1@sha256:71db6de7e631fff5052a337a51f568e76dea670d82a31b8509d35c74a4de9f85
    12.0.12.16-r1 cp.icr.io/cp/appc/ace:12.0.12.16-r1@sha256:36548bf73264ab9a018b7296c4238b95fc8fa63bbe3de7234255be705d88820d
    12.0.12.15-r1 cp.icr.io/cp/appc/ace:12.0.12.15-r1@sha256:04b6f0bf8e2d1f42cb58c941a00433bb28f6403f02c9b8a138741b663e55d43e
    12.0.12.14-r1 cp.icr.io/cp/appc/ace:12.0.12.14-r1@sha256:c19afe3cd4630df361fa4516fda0dcef67da57411190feab7091a03325c28767
    12.0.12.13-r1 cp.icr.io/cp/appc/ace:12.0.12.13-r1@sha256:ffe275e46b49026e33f57b52a5549b0263122fa7017a5800059ed2ec97166d81
    12.0.12.12-r1 cp.icr.io/cp/appc/ace:12.0.12.12-r1@sha256:741d46bc6739d8689ffda6d11fac877cca64b84d7027779148902ebb247bde81
    12.0.12.11-r1 cp.icr.io/cp/appc/ace:12.0.12.11-r1@sha256:80a66965a03eff6edf7d22f147470d84c75d97b65262aaf10ebacd7f7d4c20ea
    12.0.12.10-r1 cp.icr.io/cp/appc/ace:12.0.12.10-r1@sha256:3a8c34c18f447053e6d26663b8b96d1ecfe2606c078ce2e0ed5b3c2e57c5ee93
    12.0.12.9-r1 cp.icr.io/cp/appc/ace:12.0.12.9-r1@sha256:9773673defb2394762bcb4406ca4ca315d8b955727f4562f6ee73c91961d5ece
    12.0.12.8-r1 cp.icr.io/cp/appc/ace:12.0.12.8-r1@sha256:1edd0ca3949fee4df3016f8f142f9c8b64072191aa4bab3c421ca57cacbe8035
    12.0.12.7-r1 cp.icr.io/cp/appc/ace:12.0.12.7-r1@sha256:5ea59830a8e68a04dd4210c7643408ba63002a4b037968c0cc4b79446f307cf8
    12.0.12.6-r1 cp.icr.io/cp/appc/ace:12.0.12.6-r1@sha256:50a2818db3d067ed5b7b16cb39ec8db24eb6cdef05847ec883e7297fdcdedf88
    12.0.12.5-r1 cp.icr.io/cp/appc/ace:12.0.12.5-r1@sha256:042857bb792a2b5101f1819dafb0fa178632e69a59856a14f76b05e85ae41646
    12.0.12.4-r1 cp.icr.io/cp/appc/ace:12.0.12.4-r1@sha256:c40e451829a1bb005c229dd28e54ec5d21afdf9a8d86249580c34ba834b45f4c
    12.0.12.3-r1 cp.icr.io/cp/appc/ace:12.0.12.3-r1@sha256:c4dd5d3aa51b9ea2ff16fc55c3e62dd7380fd8f5d69e3688675ef0b13ddee40c
    12.0.12.2-r1 cp.icr.io/cp/appc/ace:12.0.12.2-r1@sha256:81aea7e2449264b1aff6e039897afbcab59cc2cf818799b0a28ee281eec6f039
    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