Building a Base Image Containing Visual COBOL Development Hub

This topic outlines the steps that a Dockerfile must carry out to create a base image for Visual COBOL Development Hub.

Once you have built your Visual COBOL Development Hub base image you can then build additional images, based on the base image, that include your COBOL applications as well as Visual COBOL Development Hub. For more information on creating those additional images see Building an Image Containing an Application to use with Visual COBOL Development Hub.

Note: Remember that Visual COBOL 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 COBOL Server.

Before building a base image for Visual COBOL Development Hub you need to ensure that you have available the following:

To build a base image that includes Visual COBOL Development Hub 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 command.
  3. Define any variables for filenames and folder locations.
  4. Install any packages that are required for Visual COBOL Development Hub to install successfully.
  5. Copy the installable executable file for Visual COBOL Development Hub (setup_visualcobol_devhub_for_docker_4.0_platform) 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 Visual COBOL Development Hub.
  7. Ensure that the installable executable file for Visual COBOL Development Hub has execute permissions, then execute it.

    When running setup_visualcobol_devhub_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.
  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 Visual COBOL Development Hub 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 Visual COBOL Development Hub. 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.