# 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`). ```bash docker run --name some-rethink -v "$PWD:/data" -d rethinkdb ``` ## Connect the instance to an application ```bash docker run --name some-app --link some-rethink:rdb -d application-that-uses-rdb ``` ## Connecting to the web admin interface on the same host ```bash $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: ```bash # 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](http://www.rethinkdb.com/docs/) for infomation on using and configuring a RethinkDB cluster.