Running the Container Demonstration for the COBOL Server Base Image

The container demonstration to create the COBOL Server base image includes a shell script (bld.sh) to make the process of running the demonstration as easy as possible. This topic lists and describes the parameters that you can specify when running bld.sh.

Note: The product installers for the ... for docker products, such as Visual COBOL Development Hub for Docker, are supplied as a .tar file. For example devhub_dockerfiles_8.0_platform.tar for the base release, and devhub_dockerfiles_8.0_platform_patchupdate01.tar for the patch update installer. (The patch update installers provide the basic product images, but do not include the Hello World or other container examples; these are only provided with the base release.)

To obtain the bld.sh installation script, installable executable, and other files mentioned below, extract the provided .tar file into an empty directory on the container host machine. The files for the base release will be in a DevHub directory within the .tar file; the files for a patch update will be in the main directory extracted from the .tar file.

When using bld.sh to create a base image for COBOL Server you need to ensure that the relevant installation files and licenses are available in the same folder as bld.sh. These are:
  • The installable executable file for COBOL Server. This is setup_cobol_server_for_docker_8.0_platform.gz and is supplied in the container demonstration for the COBOL Server base image.
  • The appropriate license (.mflic or .xml) file for COBOL Server.

The command to execute the shell script to run the container demonstration for the COBOL Server base image is as follows:

./bld.sh IacceptEULA  
         [dryrun]
         [esadmgid=admin-gid]
         [esadmuid=admin-uid]
         [esadminuser=admin-id]
         [hotfix=tar-file-name]
         [nojava | (java | oraclejava) [javaversion=java-version]]
         [login|nologin] 
         [logingid=login-gid]
         [loginid=login-id]
         [logingname=login-gname]
         [loginname=login-name]
         [notools]
         [odbc|odbc-dev]
         [package]
         [rmi]
         [settings]
         [verbose]

where the parameters are:

IacceptEULA
Indicates that you accept the Micro Focus End User License Agreement (EULA).

You must specify IacceptEULA to create a base image containing COBOL Server.

dryrun
Indicates that you do not want bld.sh to run any Docker or podman commands. Use dryrun with the verbose parameter to display the Docker or podman commands without running them.
esadminuser=admin-id
Specifies the ID to be used for the Enterprise Server admin user.
esadmgid=admin-gid
Specifies the group ID to use for the Enterprise Server admin user.
esadmuid=admin-uid
Specifies the user ID to use for the Enterprise Server admin user.
hotfix=tar-file-name
This option is only for installing a Patch Update version. Specify the name of the installable executable .tar file as mentioned above, without the extension. For example: hotfix=setup_visualcobol_devhub_for_docker_8.0_patchupdate03_312109_ platform_x64.
java
Indicates that you want the image to include Java support provided by Adoptium's OpenJDK. Use the javaversion parameter to specify the version of Java that you want support for.
javaversion=java-version
When specified in conjunction with the oraclejava parameter, java-version specifies the Java version you want support for, which can be 8 or 9; otherwise, when specified in conjunction with the java parameter, java-version can be 8, 10-18.
login
Indicates that you want to create a login image. Using this option results in image that you can use to log in to (using any details specified by the logingid, loginid, logingname and loginname parameters). Once logged in to this image you can execute shell or COBOL Server commands.

This option is useful if you are not adding any application files to a base image but want to be able to use COBOL Server commands from it.

When you specify login the tag of the image created is suffixed with "_login".

logingid=login-gid
Specifies the group ID to use for the user specified by the loginid parameter.
loginid=login-id
Specifies the user ID to use for the login image.
logingname=login-gname
Specifies the group name to use for the user specified by the loginid parameter.
loginname=login-name
Specifies the user name to use for the user specified by the loginid parameter.
nojava
Indicates that you do not want Java to be installed in the base image. You might want to use this parameter if your system already includes a number of different versions of Java and you don't want to introduce another version unnecessarily.
nologin
Indicates that you do not want to create a login image. You would typically want to use this option when creating an image that contains an application rather than just a base image for COBOL Server. This is the default.
notools
Indicates that you do not want the image to contain the IP tools (such as ping and netcat) that are included in the image by default. Use this option if you do not need the tools and want to minimize the size of the image.
odbc|odbc-dev
Specifies that the odbc run-time library or the odbc developer tools library is installed.
oraclejava
Indicates that you want the image to include Java support provided by the Oracle JDK. Use the javaversion parameter to specify the version of Java that you want support for.
package
Indicates that you want to rebuild the COBOL application in this image.
rmi
Indicates that you want to remove any previously-created COBOL Server base images. Specifying rmi results in the execution of a number of docker rmi --force or podman rmi --force commands to remove all COBOL Server base images.
settings
Causes the settings that will be used for various properties of the image to be displayed on-screen. Properties that are displayed include the names of the installable file and the license file for COBOL Server, the details to be used for the Enterprise Server admin user, and the details to be used for the login image. Specifying settings does not cause an image to be created.
verbose
Causes Docker or podman commands to be displayed on-screen as they are executed.