Building and Verifying the Docker Images

The Jenkins job build_docker is used to build the Docker images and to verify the images before proceeding to the next step.

Note:
  • Third-party components required for image creation are packaged with the installer. Details on the packaged components are available in the License Agreement, enclosed with the installer bundle. Additional components, that are also required for the image creation process are documented here, must be downloaded during the image creation process from third-party sources.
  • You can create and customize the docker image build process as needed, based on the required components outlined in the License Agreement and Third Party Components. As a convenience, for use or reference, TIBCO has provided sample docker image build scripts to use out of the box. These scripts are available in docker-build.tar.gz in the installer bundle.

build_docker



RELEASE_VERSION

The release version, together with build number, are used to compose the docker image tag.

RELEASE_SUFFIX

This is the suffix used in conjunction with the release version, for example, GA, HF1 (for Hotfix 1), and so on.

TM_CONNECTORS

You can choose from the following options for building a API Management - Local Edition Connector for the Traffic Manager container (tml-tm):
  • Connectors available from the installer - loads the connectors that are readily availablle from the installer.
  • Connectors uploaded from "upload_mashery_built_adapters" - only loads the connectors uploaded from the pre-build step.
  • None
Note:

If you build with uploaded and then later build again with bundled, the later images wiill have connectors from the installer.

If you build with uploaded and the upload a new tar.gz in prebuild, then rebuild again with uploaded, the latest uploaded connectors are included.

If you select none, a 1.0 version of connector is installed. None is actually does not mean no connector is installed.

For more information on available options for building connectors, refer to Building and Installing API Management - Local Edition Connectors.

Choosing the Docker Images to Build

An Administrator builds the Local Edition Docker images using this Jenkins job:
Jenkins Job Name Mashery Local Docker image
BUILD_DOCKER_NOSQL tml-nosql: NoSQL container
BUILD_DOCKER_LOG tml-log: Log container
BUILD_DOCKER_SQL tml-sql: SQL container
BUILD_DOCKER_CACHE tml-cache: Cache container
BUILD_DOCKER_TM tml-tm: Traffic Manager container
BUILD_DOCKER_CM tml-cm: Cluster Manager container
Note: You should verify the sizes of the images that are created. They should be approximately the following sizes after creation:
  • tml-nosql - 918MB
  • tml-log - 1.08GB
  • tml-sql - 1.65GB
  • tml-cache - 848MB
  • tml-tm - 857MB
  • tml-cm - 1.13GB

UPDATE_PACKAGES

The administrator can choose:
  • Update_Specified_Packages: update specified packages during build;
  • Update_All_Packages: all packages will be updated during build.

update_package_list:

Uploads a csv file that contains the list of packages to be updated during build. This list is applied to all Docker images.

Here is an example content of a csv file:
python.x86_64
libssh2
systemd
bind-license
openssl-libs
device-mapper.x86_64
device-mapper-libs.x86_64

VERIFY_DOCKER_IMAGE

Select the VERIFY_DOCKER_IMAGE checkbox to validate the images before carrying out the setup.

The VERIFY_DOCKER_IMAGE option checks the following:
  • Installed packages,
  • Contents of the Local Edition directories and files,
  • Files required by Local Edition scripts and services.