Building a Base Image Containing Micro Focus Enterprise Developer UNIX Components

This topic outlines the steps that a Dockerfile must carry out to create a base image for Micro Focus Enterprise Developer UNIX Components.

By far the easiest, and the recommended, way to create a base image for Micro Focus Enterprise Developer UNIX Components is to use the container demonstration as described in The Container Demonstration for the Enterprise Developer 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 Micro Focus Enterprise Developer UNIX Components 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 Micro Focus Enterprise Developer UNIX Components base image you can then build additional images, based on the base image, that include your COBOL applications as well as Micro Focus Enterprise Developer UNIX Components. For more information on creating those additional images see Building an Image Containing an Application to use with Micro Focus Enterprise Developer UNIX Components.

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 (Windows):

Prerequisites

Before building a base image for Micro Focus Enterprise Developer UNIX Components you need to ensure that you have available the following:

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_9.0_platform and is supplied in the Docker demonstration for the Enterprise Developer base image.
  • The appropriate license (.mflic or .xml) for Enterprise Developer.
  • 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.

For users of Enterprise Developer for Eclipse (Windows):

Building a base image

To build a base image that includes Micro Focus Enterprise Developer UNIX Components your Dockerfile needs to perform the following steps:

For users of Enterprise Developer for Eclipse (UNIX), or Enterprise Developer UNIX Components:

To build a base image that includes Enterprise Developer your Dockerfile needs to perform the following steps:

  1. 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.
  2. Define metadata for your image. This will make it easier to establish significant details of the image when you use the docker inspect or podman inspect command.
  3. Define any variables for filenames and folder locations.
  4. Install any packages that are required for Micro Focus Enterprise Developer UNIX Components to install successfully. See Software Requirements for more information.
  5. Copy the installable executable file for Micro Focus Enterprise Developer UNIX Components (setup_entdev_for_docker_9.0_platform.gz) from your host machine to a temporary folder in the image's filesystem.
  6. Create the user and groups whose details will be used when installing Micro Focus Enterprise Developer UNIX Components.
  7. Ensure that the installable executable file for Micro Focus Enterprise Developer UNIX Components has execute permissions, then execute it.

    When running setup_entdev_for_docker_9.0_platform.gz 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.
  8. 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.

  9. Perform any required clean-up. This includes tasks such as resetting variables and deleting temporary folders.
  10. Install a license for Micro Focus Enterprise Developer UNIX Components 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 container demonstrations offer the option to create such a login image, and those images are tagged with the suffix "_login". See Running the Container 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 container demonstrations.

Adding .NET 6 support to an image

Note: This option is supported on the following platforms:
  • AmazonLinux 2
  • RHEL 8
  • SLES/OpenSUSE Leap 15
  • Ubuntu 18.04, 20.04, 21.04, 21.10

The build tool for image creation, bld.sh, supports an optional argument, dotnet, that adds .NET 6 support to an image.

Specify dotnet when you create the image, and either the .NET 6 SDK or .NET 6 Runtime will be included in your image. bld.sh uses the dotnet NuGet tool to register the products' NuGet repository and templates. In this way, the image is ready for use by you or your CI/CD system.

For Enterprise Developer, bld.sh installs the .NET SDK. The NuGet package path is adjusted, and templates are registered. The installation is completed by a secondary script, dotnet_install.sh.

For Enterprise ServerCOBOL Server, the .NET Runtime is used.