This topic describes in detail the commands used by the Dockerfile in the CICS Docker demonstration. The Dockerfile is listed in its entirety and a following table describes the various Dockerfile commands. The line numbers in the listings of the Dockerfile have been added to aid readability. They are not present in the supplied Dockerfile.
001 # Copyright (C) Micro Focus 2019. All rights reserved. 002 # This sample code is supplied for demonstration purposes only 003 # on an "as is" basis and is for use at your own risk. 004 005 FROM microfocus/entserver:rhel7_5.0_x64 006 007 ARG ESADM_USER=esadm 008 009 LABEL com.microfocus.is-base-image="false" 010 011 # Create user app and setup cobsetenv 012 USER root 013 014 RUN useradd -ms /bin/bash app && \ 015 usermod -aG $ESADM_USER app && \ 016 touch /etc/profile && \ 017 touch ~app/.bashrc && \ 018 echo ". ~/bin/cobsetenv_login" >>~app/.bashrc && \ 019 echo ". ~/bin/cobsetenv_login" >>~app/.bash_login 020 021 COPY sample_setup /home/app/bin/ 022 RUN chown -R app /home/app 023 024 USER app 025 ENV BASE /home/app/MSS 026 ENV CCITCP2_PORT 4790 027 WORKDIR "/home/app" 028 COPY MSS.tar.gz /home/app 029 COPY MSS64_export.tar.gz /home/app 030 RUN tar xvfp MSS.tar.gz && \ 031 tar xvfp MSS64_export.tar.gz 032 033 COPY cobsetenv_login /home/app/bin/ 034 035 EXPOSE 443 500-55000 036 037 CMD /home/app/bin/sample_setup
The commands on the lines in this Dockerfile are as follows:
Lines | Description |
---|---|
005 | Specifies the base image to use, which is the
Enterprise Server base image.
On SUSE Linux the tag specified in the Dockerfile is sles12sp3_5.0_x64. |
007 | Define build arguments passed by the
docker build command:
|
009 | Specify the metadata labels for the image that will be created. These labels can be queried using the docker inspect command. |
012 | Sets the user to root. |
014 - 022 | Run a series of concatenated commands to add the Enterprise Server admin user and set up the shell to be used by that user. |
024 | Sets the user name to be used when running the image. |
025 - 026 | Create environment variables to be used in this Dockerfile:
|
027 | Sets the Docker working directory to be the folder where the CICS application source files are located. |
028 - 031 | Copy the .tar files containing the CICS application source files then extract the source files from them. |
033 | Copy the default environment that is to be used when someone logs on . |
035 | Specifies the network ports that the container will listen on at run-time. |
037 | Runs a script to start the Micro Focus Directory Server (MFDS), deploy the region definitions, then application and display the console .log file for the region until the container is terminated. |