-
Provide a containerized, standalone DataWave environment to jumpstart the learning process for new users
-
Provide a fully-configured dev environment for developers to use for experimentation, debugging, etc. The Docker container retains all the functionality of the non-containerized quickstart environment
-
For convenience, the container includes Maven for rebuilding DataWave, Git for source code management, etc
-
Enable streamlined testing and integration workflows for various CI/CD needs
-
Testing was performed on CentOS 7.2.1511 and Docker 17.06.0-ce, build 02c1d87, with Docker configured as follows:
$ cat /etc/docker/daemon.json { "storage-driver": "devicemapper", "experimental":true }
-
The 'devicemapper' storage driver was used as a workaround for this Wildfly issue: https://issues.jboss.org/browse/WFCORE-2301
-
Experimental mode was turned on to enable the
docker build --squash
feature, to help minimize the size of the resulting image
- Uses Dockerfile to create a Docker image that mirrors the current DataWave source tree under an /opt/datawave root directory, including a fully-initialized deployment of DataWave under /opt/datawave/contrib/datawave-quickstart
- Example
docker run ...
wrapper script, including set up for volumes, port mapping, etc
- ENTRYPOINT script for the Docker container
- Helper script for starting up DataWave ingest and web service components in the container, via
--ingest
and--web
flags respectively. When invoked with the--bash
flag, the script willexec /bin/bash
as the main container process, appropriate fordocker run -it
usage. Without the--bash
flag, the script will go into an infinite loop after starting services, more appropriate fordocker run -d
usage