Giter VIP home page Giter VIP logo

docker-rethinkdb's Introduction

Summary

RethinkDB server image. It extend the official rethinkdb image in the way that it allow to join a cluster when running the image. This image also secure the driver port by using the authentication system. For persistent storage, you could use the cburki/volume-data container to store the database data.

The web interface is not secured. Anybody could access the web interface if the port 8080 is exposed on a non protected network. The web interface could be protected by a reverse proxy which enforce an authentication before allowing an access to the web interface. The following two images could be used.an

cburki/nginx-rproxy-auth cburki/haproxy-confd

The first one only support HTTP protocol so it can only be used for proxying the HTP web interface. The second one support TCP and HTTP and it can therefore be used for proxying all the ports.

You should not export the rethinkdb ports when you chose to proxy them.

Build the image

To create this image, execute the following command in the docker-rethinkdb folder.

docker build -t cburki/rethinkdb .

Configure the image

A new RethinkDB cluster always has one user named admin; this user always has all permissions at a global scope, and the user cannot be deleted. By default, the admin user has no password. You can change this by setting the following environment variable.

- RETHINKDB_ADMIN_PASSWORD : The driver admin password. Admin user has not password if none is given.

Run the image

When you run the imnage, you will bind the ports 8080, 28015 and 29015. By default, RethinkDB will bind to all interfaces and it will not join any cluster.

docker run \
    --name rethinkdb \
    --volumes-from rethink-data \
    -d \
    -e RETHINKDB_ADMIN_PASSWORD=my_secret_password \
    -p 8080:8080 \
    -p 28015:28015 \
    -p 29015:29015 \
    cburki/rethinkdb:latest

Start the container using the following command when you want to join an existing cluster. You need to known the node_ip_address of the master node.

docker run \
    --name rethinkdb \
    --volumes-from rethink-data \
    -d \
    -e RETHINKDB_ADMIN_PASSWORD=my_secret_password \
    -p 8080:8080 \
    -p 28015:28015 \
    -p 29015:29015 \
    cburki/rethinkdb:latest \
    --bind all \
    --join <node_ip_address>:29015

The volume data container could be started using the following command.

docker run \
    --name rethinkdb-data \
    -d \
    cburki/volume-data:latest

docker-rethinkdb's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.