The build directory contains the following files and directories:
  • Dockerfile—Contains the set of instructions used by the Docker daemon to build a Docker image. In addition to commands for setting various arguments and environment variables, the Dockerfile specifies, among other things, the base OpenEdge database and the JDK Docker images that are used to build the custom OpenEdge database Docker container image, and the various files and artifacts that must be copied into the custom image.
    Note: You must have the Docker image of a compatible JDK version loaded in your Docker host for the custom image to build successfully. This is because, starting with OpenEdge (12.1), JDK is no longer included in the OpenEdge installer.
  • config.properties—Contains a number of properties that enable you to customize your database Docker container image.
  • build.sh—Contains the instructions for building the custom database Docker container image, and validates the properties that are set in the config.properties file. The script will throw exceptions if the validation fails. If the validation succeeds, then the build.sh script uses the set properties to build the custom image.
  • hook-script.sh—Contains sample code that you can use to enable the advanced features, such as Transparent Data Encryption, multi-tenancy, table partitioning, and Change Data Capture, on the database. If you want to use any of these features, you must enable them before starting your database.
  • artifacts—Can have artifacts such as a database structure file, a data definition, database extents, or database backups.
  • abl-triggers—If you have ABL triggers defined on your database, put them in this subdirectory. Any ABL program that must be run when a corresponding trigger event occurs must be in the artifacts subdirectory. For SQL triggers, there is no change: include the Java code within your SQL query, and run it against the database, as usual.
  • conf—Contains the startup.pf parameter file.
  • license—Must contain a valid OpenEdge Enterprise RDBMS (12.1/12.2/12.3) or Advanced Enterprise RDBMS (12.1/12.2/12.3) license, and a valid 4GL development (12.1/12.2/12.3) license.