49 lines
1.5 KiB
Markdown
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.
|