
This PR aims to increase the consistency across the docs for code blocks and code/comment/output markings. Rule followed here is "what's visible on the screen should be reflected" Issue: - Docs had various code blocks showing: comments, commands & outputs. - All three of these items were inconsistently marked. Some examples as to how this PR aims to introduce improvements: 1. Removed `> ` from in front of the "outputs". Eg, ` > REPOSITORY TAG ID CREATED` replaced with: ` REPOSITORY TAG ID CREATED`. 2. Introduced `$` for commands. Eg, ` sudo chkconfig docker on` replaced with: ` $ sudo chkconfig docker on` 3. Comments: ` > # ` replaced with: ` # `. > Please note: > Due to a vast amount of items reviewed and changed for this PR, there > might be some individually incorrect replacements OR patterns of incorrect > replacements. This PR needs to be reviewed and if there is anything missing, > it should be improved or amended. Closes: https://github.com/dotcloud/docker/issues/5286 Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
47 lines
1.8 KiB
Markdown
47 lines
1.8 KiB
Markdown
page_title: Sharing data between 2 couchdb databases
|
|
page_description: Sharing data between 2 couchdb databases
|
|
page_keywords: docker, example, package installation, networking, couchdb, data volumes
|
|
|
|
# CouchDB Service
|
|
|
|
> **Note**:
|
|
>
|
|
> - This example assumes you have Docker running in daemon mode. For
|
|
> more information please see [*Check your Docker
|
|
> install*](../hello_world/#running-examples).
|
|
> - **If you don't like sudo** then see [*Giving non-root
|
|
> access*](/installation/binaries/#dockergroup)
|
|
|
|
Here's an example of using data volumes to share the same data between
|
|
two CouchDB containers. This could be used for hot upgrades, testing
|
|
different versions of CouchDB on the same data, etc.
|
|
|
|
## Create first database
|
|
|
|
Note that we're marking `/var/lib/couchdb` as a data volume.
|
|
|
|
$ COUCH1=$(sudo docker run -d -p 5984 -v /var/lib/couchdb shykes/couchdb:2013-05-03)
|
|
|
|
## Add data to the first database
|
|
|
|
We're assuming your Docker host is reachable at `localhost`. If not,
|
|
replace `localhost` with the public IP of your Docker host.
|
|
|
|
$ HOST=localhost
|
|
$ URL="http://$HOST:$(sudo docker port $COUCH1 5984 | grep -Po '\d+$')/_utils/"
|
|
$ echo "Navigate to $URL in your browser, and use the couch interface to add data"
|
|
|
|
## Create second database
|
|
|
|
This time, we're requesting shared access to `$COUCH1`'s volumes.
|
|
|
|
$ COUCH2=$(sudo docker run -d -p 5984 --volumes-from $COUCH1 shykes/couchdb:2013-05-03)
|
|
|
|
## Browse data on the second database
|
|
|
|
$ HOST=localhost
|
|
$ URL="http://$HOST:$(sudo docker port $COUCH2 5984 | grep -Po '\d+$')/_utils/"
|
|
$ echo "Navigate to $URL in your browser. You should see the same data as in the first database"'!'
|
|
|
|
Congratulations, you are now running two Couchdb containers, completely
|
|
isolated from each other *except* for their data.
|