mirror of
https://github.com/bigchaindb/bigchaindb.git
synced 2024-10-13 13:34:05 +00:00
102 lines
2.6 KiB
Markdown
102 lines
2.6 KiB
Markdown
# Run BigchainDB with Docker On Mac
|
|
|
|
**NOT for Production Use**
|
|
|
|
Those developing on Mac can follow this document to run BigchainDB in docker
|
|
containers for a quick dev setup.
|
|
Running BigchainDB on Mac (Docker or otherwise) is not officially supported.
|
|
|
|
Support is very much limited as there are certain things that work differently
|
|
in Docker for Mac than Docker for other platforms.
|
|
Also, we do not use mac for our development and testing. :)
|
|
|
|
This page may not be up to date with various settings and docker updates at
|
|
all the times.
|
|
|
|
These steps work as of this writing (2017.Mar.09) and might break in the
|
|
future with updates to Docker for mac.
|
|
Community contribution to make BigchainDB run on Docker for Mac will always be
|
|
welcome.
|
|
|
|
|
|
## Prerequisite
|
|
|
|
Install Docker for Mac.
|
|
|
|
## (Optional) For a clean start
|
|
|
|
1. Stop all BigchainDB and RethinkDB/MongoDB containers.
|
|
2. Delete all BigchainDB docker images.
|
|
3. Delete the ~/bigchaindb_docker folder.
|
|
|
|
|
|
## Pull the images
|
|
|
|
Pull the bigchaindb and other required docker images from docker hub.
|
|
|
|
```text
|
|
docker pull bigchaindb/bigchaindb:master
|
|
docker pull [rethinkdb:2.3|mongo:3.4.1]
|
|
```
|
|
|
|
## Create the BigchainDB configuration file on Mac
|
|
```text
|
|
docker run \
|
|
--rm \
|
|
--volume $HOME/bigchaindb_docker:/data \
|
|
bigchaindb/bigchaindb:master \
|
|
-y configure \
|
|
[mongodb|rethinkdb]
|
|
```
|
|
|
|
To ensure that BigchainDB connects to the backend database bound to the virtual
|
|
interface `172.17.0.1`, you must edit the BigchainDB configuration file
|
|
(`~/bigchaindb_docker/.bigchaindb`) and change database.host from `localhost`
|
|
to `172.17.0.1`.
|
|
|
|
|
|
## Run the backend database on Mac
|
|
|
|
From v0.9 onwards, you can run RethinkDB or MongoDB.
|
|
|
|
We use the virtual interface created by the Docker daemon to allow
|
|
communication between the BigchainDB and database containers.
|
|
It has an IP address of 172.17.0.1 by default.
|
|
|
|
You can also use docker host networking or bind to your primary (eth)
|
|
interface, if needed.
|
|
|
|
### For RethinkDB backend
|
|
```text
|
|
docker run \
|
|
--name=rethinkdb \
|
|
--publish=28015:28015 \
|
|
--publish=8080:8080 \
|
|
--restart=always \
|
|
--volume $HOME/bigchaindb_docker:/data \
|
|
rethinkdb:2.3
|
|
```
|
|
|
|
### For MongoDB backend
|
|
```text
|
|
docker run \
|
|
--name=mongodb \
|
|
--publish=27017:27017 \
|
|
--restart=always \
|
|
--volume=$HOME/bigchaindb_docker/db:/data/db \
|
|
--volume=$HOME/bigchaindb_docker/configdb:/data/configdb \
|
|
mongo:3.4.1 --replSet=bigchain-rs
|
|
```
|
|
|
|
### Run BigchainDB on Mac
|
|
```text
|
|
docker run \
|
|
--name=bigchaindb \
|
|
--publish=9984:9984 \
|
|
--restart=always \
|
|
--volume=$HOME/bigchaindb_docker:/data \
|
|
bigchaindb/bigchaindb \
|
|
start
|
|
```
|
|
|