content.md 1.5 KB

What is RethinkDB?

RethinkDB is an open-source, distributed database built to store JSON documents and effortlessly scale to multiple machines. It's easy to set up and learn and features a simple but powerful query language that supports table joins, groupings, aggregations, and functions.

%%LOGO%%

How to use this image

Start an instance with data mounted in the working directory

The default CMD of the image is rethinkdb --bind all, so the RethinkDB daemon will bind to all network interfaces available to the container (by default, RethinkDB only accepts connections from localhost).

docker run --name some-rethink -v "$(pwd):/data" -d rethinkdb

Connect the instance to an application

docker run --name some-app --link some-rethink:rdb -d application-that-uses-rdb

Connecting to the web admin interface on the same host

$BROWSER "http://$(docker inspect --format \
  '{{ .NetworkSettings.IPAddress }}' some-rethink):8080"

Connecting to the web admin interface on a remote / virtual host via SSH

Where remote is an alias for the remote user@hostname:

# start port forwarding
ssh -fNTL localhost:8080:$(ssh remote "docker inspect --format \
  '{{ .NetworkSettings.IPAddress }}' some-rethink"):8080 remote

# open interface in browser
xdg-open http://localhost:8080

# stop port forwarding
kill $(lsof -t -i @localhost:8080 -sTCP:listen)

Configuration

See the official docs for infomation on using and configuring a RethinkDB cluster.