This topic outlines the steps that a Dockerfile must carry out to create a base image for
Enterprise Server.
By far the easiest, and the recommended, way to create a base image for
Enterprise Server is to use the container demonstration as described in
The Container Demonstration for the
Enterprise Server Base Image. If you do use the container demonstration, you do not need to perform any of the steps described in this topic because the
container demonstration does them all for you. The information in this topic is provided if you choose to write your own Dockerfile
to create an
Enterprise Server base image.
Note: A separate document,
Best Practices for Moving Your COBOL Applications to Containers, is available that describes best practices that
Micro Focus recommends you adopt when moving an existing COBOL application to run in a containerized environment. See
Micro Focus: Best Practices for Moving Your COBOL Applications to Containers for more information.
Once you have built your
Enterprise Server base image you can then build additional images, based on the base image, that include your COBOL applications as well as
Enterprise Server. For more information on creating those additional images see
Building an Image Containing an Application to Run under
Enterprise Server.
Prerequisites
Before building a base image for
Enterprise Server you need to ensure that you have available the following:
- The installable executable file for
Enterprise Server. This is
es_100.exe
and is supplied in the container demonstration for the
Enterprise Server base image.
- The appropriate license (.xml) file for
Enterprise Server.
Building a base image
To build a base image that includes
Enterprise Server your Dockerfile needs to perform the following steps:
- Specify a base image to work from. This will typically be
microsoft/dotnet-framework.
- Define metadata for your image. This will make it easier to establish significant details of the image when you use the
docker inspect command.
- Define any variables for filenames and folder locations.
Note: If you will be using this image to run applications under Enterprise Server, you need to set the MFDS_EXTERNAL_ADDR environment
variable to specify a resolvable external address string. This is to enable client browsers to resolve the URLs used by ESMAC
and other utilities in Enterprise Server Administration.
The value that you specify for this environment variable is used to replace the internal container address in the URL.
- Copy the installable executable file for
Enterprise Server (es_100.exe
) from your host machine to a temporary folder in the image's filesystem, then run it to install
Enterprise Server.
When running
es_100.exe
you need to specify the following parameters:
- /q
- to run the installaton silently; that is non-interactively with no user interface, using defaults for any values that are
not specified elsewhere on the command line.
- InstallFolder=installation-location
- to specify the name of the folder into which you want to install
Enterprise Server. This a folder that you must have created on the image's filesystem.
- /l
log-file-name
- to create a log file of the installation.
- accepteula=yes
- to indicate that you accept the terms of the
Micro Focus End User License Agreement (EULA).
- Check the log file produced by the installation to ensure that the installation was successful.
- Perform any required clean-up. This includes tasks such as resetting variables and deleting temporary folders.
- Set the working directory to be the folder into which you installed
Enterprise Server.
Note: Micro Focus recommends that in addition to having a Dockerfile that performs the above steps you have additional Dockerfiles
to create platform-specific versions of the
Enterprise Server base image. These additional Dockerfiles will be very simple, using the
Enterprise Server base image as their base then running commands to ensure that the correct (32-bit or 64-bit) environment is set up.