docker-minecraft-server/titan-gremlin
2017-05-02 19:42:47 -05:00
..
Dockerfile [gremlin] Switch to openjdk:8 base 2017-05-02 19:42:47 -05:00
README.md [cass] Make sure to enable start_rpc 2016-04-17 12:21:53 -05:00
start-gremlin.sh [cass] Make sure to enable start_rpc 2016-04-17 12:21:53 -05:00

Runs the Gremlin console from the Titan Graph Database's "all" distribution.

Basic Usage

To start the Gremlin console with the default configuration files available:

docker run -it itzg/titan-gremlin

In order to adjust or further define property files to use within Gremlin, attach a host directory to the container's /conf such as

docker run -it -v $(pwd)/conf:/conf itzg/titan-gremlin

After running once your host directory will be populated with the distribution-default configuration files. Modify those or add to them and they will be available during the next time you (re)start your container.

Connecting to Cassandra and Elasticsearch Containers

First start containers for Cassandra and Elasticsearch (pre-2.x), where the --name you choose can be arbitrary or left off to use a generated name.

docker run -d --name gremlin-cass itzg/cassandra
docker run -d --name gremlin-es itzg/elasticsearch:1.x

Now start Gremlin with networking links to those containers with the aliases

  • --link <container>:cass
  • --link <container>:es

such as

docker run -it --rm --link gremlin-cass:cass --link gremlin-es:es itzg/titan-gremlin

and with that you can follow the Graph of the Gods example, such as

gremlin> GraphOfTheGodsFactory.load(g)
gremlin> saturn = g.V.has('name','saturn').next()
==>v[256]
gremlin> saturn.map()
==>name=saturn
==>age=10000
gremlin> saturn.in('father').in('father').name
==>hercules

Running and Connecting with Docker Compose

Create the following Compose content as the file docker-compose.yml and in that directory invoke docker-compose run titan to run the Gremlin shell with the supporting Elasticsearch and Cassandra containers.

titan:
    image: itzg/titan-gremlin
    links:
        - cass
        - es
cass:
    image: itzg/cassandra
es:
    image: itzg/elasticsearch:1.x