/docker-ml8-java-samplestack

Dockerfile for MarkLogic 8 and SampleStack Java

docker-ml8-java-samplestack

Dockerfile for MarkLogic 8 and SampleStack Java

Setup

Create docker base image

Follow instructions from https://github.com/rlouapre/docker-ml
Make sure to download MarkLogic 8 - Centos 6 RPM package
The new image created must have the tag name: centos6-ml

Build docker image

docker build --rm=true -t "centos6-ml8-java-samplestack" github.com/rlouapre/docker-ml8-java-samplestack

Run Samplestack within the container (for demo)

Run docker with named container:
docker run --name java-samplestack -d -p 8000:8000 -p 8001:8001 -p 8002:8002 -p 8006:8006 -p 8090:8090 centos6-ml8-java-samplestack
Bootstrap and start Samplestack:
docker exec java-samplestack bash -c "cd /home/marklogic-samplestack/appserver/java-spring && ./gradlew dbInit && ./gradlew appserver"

Run Samplestack from a volume mounted to the container (for development)

Assuming path-to-samplestack is /Users/Richard/Projects/ML/marklogic-samplestack
docker run --name java-samplestack -d -p 8000:8000 -p 8001:8001 -p 8002:8002 -p 8006:8006 -p 8090:8090 -v /Users/Richard/Projects/ML/marklogic-samplestack:/opt/marklogic-samplestack rlouapre/centos6-ml8-java-samplestack

docker exec java-samplestack bash -c "cd /opt/marklogic-samplestack/appserver/java-spring && ./gradlew dbInit && ./gradlew appserver"

FIX: Windows / Virtualbox driver does not mount to local file system
VBoxManage controlvm ${machine-name} acpipowerbutton
VBoxManage sharedfolder add ${machine-name} --name Users --hostpath c:/Users --automount
VBoxManage startvm ${machine-name} --type headless

Test

Samplestack web app accessible from: http://{docker-ip}:8090
Samplestack REST server accessible from: http://{docker-ip}:8006

If you are using docker-machine ip address is available from docker-machine ip {machine-name}