GitHubContribute in GitHub: Open doc issue|Edit online

Containers

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

To load the image from IBM Cloud Container Registry the 'podman pull' or '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 icr.io/ibmappgateway/ibm-application-gateway:24.06

Configuration

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.
FROM icr.io/ibmappgateway/ibm-application-gateway:24.06

# 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="iag@acme.com" \
    vendor="ACME"

  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: https://docs.docker.com/storage/volumes/;
  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: https://docs.docker.com/storage/bind-mounts/.

Ports

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.

Language

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:

Value Language
pt Brazilian Portuguese
cs Czech
zh_CN Chinese (Simplified)
zh_TW Chinese (Traditional)
C English
fr French
de German
hu Hungarian
it Italian
ja Japanese
ko Korean
pl Polish
es Spanish
ru Russian

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 icr.io/ibmappgateway/ibm-application-gateway:24.06

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 \
    icr.io/ibmappgateway/ibm-application-gateway:24.06
    
# Examine the log file of the container.
docker logs -f iag-test

License

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 icr.io/ibmappgateway/ibm-application-gateway:24.06

Supported Tags

Tag Purpose
YY.MM A particular release, of the format: {year}.{month}. For example 24.06.
YY.MM.R A particular revision of a release, of the format: {year}.{month}.{revision} For example 24.06.0.