Using build tool kit with your own docker image
The docker build tool kit could be found on OPSWAT Portal - Products - Utilities
The build tool kit includes following files:
- Dockerfile- main script for building docker image.
- entrypoint.sh- startup script that runs when the container starts.
- patch.sh- utility script for string replacing in file, needed for building docker image.
- systemctl.pythe replacement for systemctl, needed for non-privileged container.
- mdcore.sh- functionalities that- entrypoint.shneed to start MetaDefender Core service.
To build the image, just run the following command:
docker build -t <image_name[:tag]> [--build-arg VERSION=<version>] <build-kit_path>- <image_name[:tag]>- name of your built image with optional tag (e.g.- latest).
- --build-arg VERSION=<version>- the desired MetaDefender Core version to be downloaded from OPSWAT. If obmitted then a local installer will be used, installer should be placed in working directory with name is formatted /mdcore/ometascan-*.rpm or .deb (configurable in the Dockerfile).
- <build-kit_path>- relative path to your build-kit which contains Dockerfile.
For example:
docker build -t core:debian --build-arg VERSION=5.13.2 .In Dockerfile, there are some environment variables that can be modified for various use cases. You should modify the environment variables before building the MetaDefender Core docker image.
# Product version for downloading installer package, ignored if use local installerARG VERSION=local# Some convenient keys for building, do not change theseENV VERSION         ${VERSION}ENV PACKAGE_NAME    ometascan-${VERSION}-1.x86_64.rpmENV WORK_DIR        /mdcoreENV PACKAGE_PATTERN ometascan-*.rpmENV PACKAGE_FILE    ${WORK_DIR}/ometascan.rpm# All designated data files and folders to be used by MetaDefender Core upon installed will reside insideENV INSTALL_ROOT    /opt/ometascan# MetaDefender Core internal configurationsENV REST_PORT       8008ENV IGNITION_FILE   ${INSTALL_ROOT}/etc/opswat/ometascan.confENV DATA_DIR        ${INSTALL_ROOT}/var/lib/ometascanENV CORE_CONF       ${INSTALL_ROOT}/etc/ometascan/ometascan.conf# User for installing Core and runningENV RUN_USER        metascanENV RUN_GROUP       metascanENV RUN_UID         1000ENV RUN_GID         1000# Define apikey path to store apikey for license activation and deactivationENV APIKEY_PATH     ${INSTALL_ROOT}/etc/opswat/apikey- VERSIONvariable needs to be set to the desired version of MetaDefender Core to be downloaded and used.
- RUN_USERvariable is the user that is automatically created in the container and then used to run the MetaDefender Core. It could be non-root user.
- INSTALL_ROOTvariable to define root folder for all MetaDefender Core data files and folder to reside inside.
- APIKEY_PATHvariable to define file path containing API key of your desired local user admin on MetaDefender Core, that will be used for license activation and deactivation.
