Dockerfile wrapping `yum`, a package manager.
If you are beginning your journey with
Senzing,
please start with
Senzing Quick Start guides.
You are in the
Senzing Garage
where projects are “tinkered” on.
Although this GitHub repository may help you understand an approach to using Senzing,
it’s not considered to be “production ready” and is not considered to be part of the Senzing product.
Heck, it may not even be appropriate for your application of Senzing!
A docker wrapper around the yum
command.
This repository creates a Docker wrapper over the yum
command.
It can be used to download and extract RPMs.
The default behavior is to install the latest senzingapi
packages.
To use the Senzing code, you must agree to the End User License Agreement (EULA).
This step is intentionally tricky and not simply copy/paste.
This ensures that you make a conscious effort to accept the EULA.
Example:
- export SENZING_ACCEPT_EULA="
this link>"
Construct parameter for docker run
.
Example:
export SENZING_ACCEPT_EULA_PARAMETER="--env SENZING_ACCEPT_EULA=${SENZING_ACCEPT_EULA}"
Senzing follows the Linux File Hierarchy Standard.
The Senzing RPM installs 2 packages: senzingapi
, senzingdata
.senzingapi
is installed into /opt/senzing/g2
and senzingdata
is installed into /opt/senzing/data
inside the Docker container.
Environment variables will be used in --volume
options to externalize the installations.
Specify the directory where to install Senzing.
Example:
export SENZING_VOLUME=/opt/my-senzing
SENZING_VOLUME
.SENZING_VOLUME
.Identify directories for data
and g2
.
Example:
export SENZING_DATA_DIR=${SENZING_VOLUME}/data
export SENZING_G2_DIR=${SENZING_VOLUME}/g2
Although the Docker run
command looks complex,
it accounts for all of the optional variations described above.
Unset environment variables have no effect on thedocker run
command and may be removed or remain.
Run Docker container.
Example:
sudo docker run \
--rm \
--volume ${SENZING_DATA_DIR}:/opt/senzing/data \
--volume ${SENZING_G2_DIR}:/opt/senzing/g2 \
${SENZING_ACCEPT_EULA_PARAMETER} \
senzing/yum
When complete, Senzing is installed in the SENZING_G2_DIR
and SENZING_DATA_DIR
directories.
The following examples require initialization described in
Demonstrate using Docker.
By not setting SENZING_ACCEPT_EULA_PARAMETER
, the containerized yum
install will prompt for manual EULA acceptance.
Run Docker container.
Example:
sudo docker run \
--interactive \
--rm \
--tty \
--volume ${SENZING_DATA_DIR}:/opt/senzing/data \
--volume ${SENZING_G2_DIR}:/opt/senzing/g2 \
senzing/yum
senzing/yum
can be used to install local RPM files.
To download Senzing RPM files, see
github.com/Senzing/docker-yumdownloader.
Set additional environment variables.
Identify directory containing RPM files and the exact names of RPM files.
Example:
export SENZING_RPM_DIR=~/Downloads
export SENZING_API_RPM_FILENAME=senzingapi-nn.nn.nn.x86_64.rpm
export SENZING_DATA_RPM_FILENAME=senzingdata-v1-nn.nn.nn.x86_64.rpm
Run the Docker container.
Example:
sudo docker run \
--rm \
--volume ${SENZING_DATA_DIR}:/opt/senzing/data \
--volume ${SENZING_G2_DIR}:/opt/senzing/g2 \
--volume ${SENZING_RPM_DIR}:/data \
${SENZING_ACCEPT_EULA_PARAMETER} \
senzing/yum -y localinstall \
/data/${SENZING_DATA_RPM_FILENAME} \
/data/${SENZING_API_RPM_FILENAME}
Configuration values specified by environment variable or command line parameter.