Image Building Process
The following section lists the main stages of building images from the Dockerfiles. For detailed steps and comments, refer to the template Dockerfiles at the following locations:
amsgce-runtime-<version>/runtime/docker
amsgce-runtime-<version>/runtime/docker/s2i
amsgce-runtime-<version>/teaagent/docker
-
Includes base Operating System:
The Dockerfiles begin with FROM command which specifies the image that starts the build process. The default base image on the provided Dockerfile is Alpine Linux with Java 11. For example,
FROM alpine:3.9
-
Copy and unzip
tibco.homefolder:The build script copies
tibco.homefolder from amsgce-runtime-<version> folder.COPY tibco.home.zip /opt/tibco/
-
Adds Java (supports external JRE):
After specifying the base image, image build script installs Java. It can be externally downloaded JRE or installed by using respective Operating System web repository.
RUN ./tmp/java/install_jdk.sh
-
Uses intermediate build stages to reduce image size:
Deletes unused files. The runtime zip file is common for three different types of images that is Runtime, Application Configurator, Application Monitor(TEA agent), so based on the current image being built, this script deletes unused plugins and features.
-
Creates an user "amxceusr":
RUN adduser -S $USER -G $GROUP
-
Offline Deployment:
Scripts folder contains ant script to support <CONFIG_HOME> creation, integration node and offline deployment.
RUN $DATA_FOLDER/scripts/config.sh
- Sets LABEL and ENV variables.
-
Set EXPOSE port:
Sets all exposed ports by scanning DAA and configuration file for all HTTP connectors port.
EXPOSE ${AMXCE_NODE_HTTP_PORTS} -
Sets ENTRYPOINT:
On container start it calls start.sh file.
ENTRYPOINT ["/opt/tibco/tibco.home/data/scripts/start.sh"]