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:
- 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"
- 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/;
- 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