This is a very quick script to get a single instance of neo4j running in a docker container. The username and password is set using the NEO4J_AUTH environment variable.

#!/bin/bash

#
# Script: neo4j-docker.sh
# Purpose: install neo4j container image after some simple environmentment prep
# 

DOCKER=$(which docker)
[ $? == 0 ] || { echo "ERROR: Check if docker is installed (and in your PATH)" ; exit 1; }

DATA_DIR="$HOME/docker/neo4j-volumes/data"
LOG_DIR="$HOME/docker/neo4j-volumes/logs"
IMPORT_DIR="$HOME/docker/neo4j-volumes/import"
PLUGINS_DIR="$HOME/docker/neo4j-volumes/plugins"

RUNNING_CONTAINER=$($DOCKER ps -a | grep "neo4j:latest" | awk {'print $1'})
[ -z "$RUNNING_CONTAINER" ] || docker rm -f $RUNNING_CONTAINER

[ -d $DATA_DIR ] && rm -rf $DATA_DIR/* || mkdir $DATA_DIR
[ -d $LOG_DIR ] && rm -rf $DATA_DIR/* || mkdir $LOG_DIR
[ -d $IMPORT_DIR ] && rm -rf $DATA_DIR/* || mkdir $IMPORT_DIR
[ -d $PLUGINS_DIR ] && rm -rf $DATA_DIR/* || mkdir $PLUGINS_DIR

$DOCKER run \
    --name testneo4j \
    -p7474:7474 -p7687:7687 \
    -d \
    -v $DATA_DIR:/data \
    -v $LOG_DIR:/logs \
    -v $IMPORT_DIR:/var/lib/neo4j/import \
    -v $PLUGINS_DIR:/plugins \
    --env NEO4J_AUTH=neo4j/test1234 \
    neo4j:latest