This topic outlines the steps that a Dockerfile must carry out to create a base image for
Enterprise Developer Build Tools for Windows.
Once you have built your
Enterprise Developer Build Tools for Windows base image you can then build additional images, based on the base image, that include your COBOL applications as well as
Enterprise Developer Build Tools for Windows. For more information on creating those additional images see
Building an Image Containing an Application to use with
Enterprise Developer Build Tools for Windows.
Note: Remember that
Enterprise Developer is a development and test environment so not for use in production situations. If you want to run COBOL applications in containers
in a production environment you must use containers that contain
Enterprise Server.
For users of Enterprise Developer for Eclipse:
Before building a base image for
Enterprise Developer Build Tools for Windows you need to ensure that you have available the following:
- The installable executable file for
Enterprise Developer Build Tools for Windows. This is
edbt_40.exe and is supplied in the Docker demonstration for the
Enterprise Developer Build Tools for Windows base image.
- The appropriate license (.mflic) file for
Enterprise Developer Build Tools for Windows.
- If you will be including Java support in the image, the relevant executable file to perform the installation of the JDK. You
can get this file from your chosen JDK provider.
Note: If you are using
Enterprise Developer UNIX Components you need to ensure that you have available the following:
- The installable executable for
Enterprise Developer. This is
setup_entdev_for_docker_4.0_platform and is supplied in the Docker demonstration for the
Enterprise Developer base image.
- The appropriate license (.mflic) for
Enterprise Developer.
- If you will be including Java support in the image, the file
server-jre-8u162-linux-x64.tar.gz . This file is supplied in the
EntDev folder of the
entdev_dockerfiles_4.0_platform.tar file.
For users of Enterprise Developer for Eclipse:
To build a base image that includes
Enterprise Developer Build Tools for Windows your Dockerfile needs to perform the following steps:
- Specify a base image to work from. This will typically be
microsoft/dotnet-framework or
microsoft/dotnet-framework-build.
When creating a base image containing
Enterprise Developer Build Tools for Windows you might want to create two different versions of the image - a regular image (which is built from
microsoft/dotnet-framework) and a "-build" image (which is built from
microsoft/dotnet-framework-build). The
microsoft/dotnet-framework-build image includes build-related files that are not included in
microsoft/dotnet-framework, so while an image built from
microsoft/dotnet-framework will let you run applications, if you want to build applications you should use
microsoft/dotnet-framework-build.
Note: Because
microsoft/dotnet-framework-build contains additional files that are not included in
microsoft/dotnet-framework, for the sake of keeping container sizes to a minimum you should only use
microsoft/dotnet-framework-build when you need the additional build-related features.
The Docker demonstration that builds the base image containing
Enterprise Developer Build Tools for Windows uses this approach, creating both
microfocus/edbuildtools:win_4.0 and
microfocus/edbuildtools-build:win_4.0.
- 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.
- Copy the installable executable file for
Enterprise Developer Build Tools for Windows (edbt_40.exe) from your host machine to a temporary folder in the image's filesystem, then run it to install
Enterprise Developer Build Tools for Windows.
When running
edbt_40.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 Developer Build Tools for Windows. This a folder that you must have created on the Docker 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.
- Use the
MFLicenseAdmin.exe utility to install the license for
Enterprise Developer Build Tools for Windows.
- Set up the Ant and Java support.
- Specify the network ports that the container will listen on at run-time.
- Perform any required clean-up. This includes tasks such as resetting variables and deleting temporary folders.
- Set the Docker working directory to be the folder into which you installed
Enterprise Developer Build Tools for Windows.
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 Developer Build Tools for Windows base image. These additional Dockerfiles will be very simple, using the
Enterprise Developer Build Tools for Windows base image as their base then running commands to ensure that the correct (32-bit or 64-bit) environment is set up.
You could also choose to create a base image for
Enterprise Developer Build Tools for Windows that doesn't include Java support. If you need to do this you would simply modify the above process to not perform the step
related to setting up the Java support.
For users of Enterprise Developer UNIX Components:
To build a base image that includes
Enterprise Developer your Dockerfile needs to perform the following steps:
- Specify a base image to work from. This will typically be
rhel7/rhel:latest or
suse/sles12sp3 depending on whether you are using Red Hat Linux or SUSE Linux.
- 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.
- Install any packages that are required for
Enterprise Developer Build Tools for Windows to install successfully.
- Copy the installable executable file for
Enterprise Developer Build Tools for Windows (setup_entdev_for_docker_4.0_platform) from your host machine to a temporary folder in the image's filesystem.
- Create the user and groups whose details will be used when installing
Enterprise Developer Build Tools for Windows.
- Ensure that the installable executable file for
Enterprise Developer Build Tools for Windows has execute permissions, then execute it.
When running
setup_entdev_for_docker_4.0_platform you need to specify the following parameters:
- -IacceptEULA
- to indicate that you accept the terms of the
Micro Focus End User License Agreement (EULA).
- -ESadminID=user-name
- to set the Enterprise Server System Administrator Process User ID.
- Configure the dynamic linker run-time bindings to include the shared objects supplied with
Enterprise Developer.
Doing this avoids the need to update the LD_LIBRARY_PATH environment variable.
- Perform any required clean-up. This includes tasks such as resetting variables and deleting temporary folders.
- Install a license for
Enterprise Developer Build Tools for Windows then remove the license file.
Note: You might also want to create an image that you can log in to and execute shell or
Enterprise Developer commands. This option is useful if you are not adding any application files to a base image but want to be able to use
Enterprise Developer commands from it.
All of the Docker demonstrations offer the option to create such a login image, and those images are tagged with the suffix
"_login". See
Running the Docker Demonstration for the
Enterprise Developer Base Image for information on how to specify that you want to create a
_login image. For details on the commands required to build such an image, see the
bld.sh script in any of the Docker demonstrations.
The above process is used by the Docker demonstration that creates a base image for
Enterprise Developer Build Tools for Windows. For more information on that demonstration, including information on all the files it contains and a detailed description
of the Dockerfiles it contains, see
The Docker Demonstration for the
Enterprise Developer Base Image.