The IBM Application Gateway (IAG) image is available from IBM Cloud Container Registry.

To load the image from IBM Cloud Container Registry the 'docker pull' command should be used. The image name should be supplied with the pull command, along with a tag which corresponds to the image version number. For example:

docker pull


The configuration for the container is supplied as one or more YAML files, along with other potential supporting files (e.g. PEM certificate files). When the container first starts it will apply the configuration found within the local '/var/iag/config' directory. As such the configuration for the container will need to be placed in this directory before the container is started. This can be achieved in one of three ways:

  1. Pre-baking the configuration into a new image which is based on the IAG image. A Dockerfile which can be used to create a pre-baked image is shown below:
## You can build this image by issuing the following command:
##          docker build -t acme-iag:1.0 $PWD

## The container is based on the IAG container.

## Copy the configuration files from the config directory
## to the docker image.
COPY config/* /var/iag/config/

## Some labels which will be associated with the image.
LABEL maintainer="[email protected]" \

  1. Placing the configuration information into a Docker volume and then mounting this volume into the Docker container. Information on Docker volumes can be found at:;
  2. Placing the configuration information into a local directory on the Docker host and then creating a Bind mount to the Docker container. Information on Docker Bind mounts can be found at:


The IAG container will expose a single port for each protocol which is enabled for the server. For the HTTPS protocol the 8443 port is exposed, and for the HTTP protocol the 8080 port is exposed. By default the Docker environment will publish the port to a random port on the Docker host. If a specific port or Docker host IP address is required the '--publish' option should be used with the 'docker run' command.


In order to display the IAG error messages in a language other than English the 'LANG' environment variable should be set to one of the following:

ptBrazilian Portuguese
zh_CNChinese (Simplified)
zh_TWChinese (Traditional)

Quick Start

To start a container in the foreground with the defaults, and no configuration, execute the command:

docker run --interactive --tty --rm --name iag-test

However, a more complete command, which would specify a Bind mounted configuration volume, ports and standard environment variables, could be:

docker run --hostname iag-test --name iag-test \
    --detach \
    --publish 8443:8443 \
    --volume /Users/test/iag-config:/var/iag/config \
    --env LANG=C \
## Examine the log file of the container.
docker logs -f iag-test

Supported Docker Versions

  • This image is officially supported on Docker version v17 and later;
  • Support for older versions is provided on a best-effort basis.


The image is covered by an IBM software license. The license can be viewed directly from the image by executing the following command:

docker run --rm --entrypoint license

Supported Tags

YY.MMA particular release, of the format: {year}.{month}. For example 23.04.
YY.MM.RA particular revision of a release, of the format: {year}.{month}.{revision} For example 23.04.0.