Building the Docker Image for an API Gateway Instance
The API Gateway docker image provides an API Gateway installation. Depending on the existing installation the image provides a standard API Gateway or an advanced API Gateway. When running the image the API Gateway is started. The API Gateway image is created on top of an Integration Server image.
To build a Docker image for an API Gateway instance
1. Create a docker file for the Integration Server (IS) instance by running the following command:
is_container.sh createDockerfile [optional arguments]
Argument | Description |
-Dinstance.name | Optional. IS instance name to include in the image. Default: default |
-Dport.list | Optional. Comma-separated list of the ports on the instance to expose in the image. Default: 5555,9999 |
-Dpackage.list | Optional. Comma-separated list of Wm packages on the instance to include in the image. Default: all (this includes all of the Wm packages and the Default package) |
-Dinclude.jdk | Optional. Whether to include the Integration Server JDK (true) or JRE (false) in the image. Default: true |
-Dfile.name | Optional. File name for the generated docker file. Default: Dockerfile_IS |
2. Build the IS docker image using the docker file Dockerfile_IS by running the following command:
is_container.sh build [optional arguments]
Argument | Description |
-Dfile.name | Optional. File name of the docker file to use to build the Docker image. Default: Dockerfile_IS |
-Dimage.name | Optional. Name for the generated docker image. Default: is:micro |
3. Create a docker file for the API Gateway instance from the IS image is:micro by running the following command:
apigw_container.sh createDockerfile [optional arguments]
Argument | Description |
instance.name | Optional. API Gateway instance to include in the image. Default: default |
port.list | Comma-separated list of the ports on the instance to expose in the image. Default: 9072 |
base.image | Name of the base Integration Server image upon which this image should be built.. Default: is:micro |
file.name | Optional. File name for the generated docker file. Default: Dockerfile_IS_APIGW |
The docker file is created under the root Integration Server installation directory.
4. Build the API Gateway docker image using the core docker file Dockerfile_IS_APIGW by running the following command:
apigw_container.sh build [optional arguments]
Argument | Description |
instance.name | Optional. API Gateway instance to include in the image. Default: default |
file.name | File name of the docker file to use to build the docker image. Default: Dockerfile_IS_APIGW |
image.name | Optional. Name for the generated docker image that contains the custom packages. Default: is:apigw |
The image is stored on the docker host. To check the image run the command $ docker images
Example
A sample shell script for creating and an API Gateway looks as follows:
echo "is createDockerfile ======================================================="
./is_container.sh createDockerfile
status=$?
if [ $status -ne 0 ]
then
echo "Failed! status: $status"
exit $status
fi
echo "is build =================================================================="
./is_container.sh build
status=$?
if [ $status -ne 0 ]
then
echo "Failed! status: $status"
exit $status
fi
echo "apigw createDockerfile =================================================="
./apigw_container.sh createDockerfile
status=$?
if [ $status -ne 0 ]
then
echo "Failed! status: $status"
exit $status
fi
echo "apigw build ============================================================="
./apigw_container.sh build
status=$?
if [ $status -ne 0 ]
then
echo "Failed! status: $status"
exit $status
fi
After running the steps the created images can be listed using the docker images command: docker images
REPOSITORY TAG IMAGEID CREATED SIZE
is apigw af29373fc98a 15 hours ago 1.3GB
is micro 06e7c0de4807 15 hours ago 1.1GB
centos 7 36540f359ca3 12 days ago 193MB
Note: | The is:micro and therefore also the is:apigw images are based on the centos:7 image, which is available from the official CentOS repository |