docs/rethinkdb/content.md

49 lines
1.5 KiB
Markdown

# 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.