mirror of
				https://github.com/moby/moby.git
				synced 2022-11-09 12:21:53 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			56 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
:title: Sharing data between 2 couchdb databases
 | 
						|
:description: Sharing data between 2 couchdb databases
 | 
						|
:keywords: docker, example, package installation, networking, couchdb, data volumes
 | 
						|
 | 
						|
.. _running_couchdb_service:
 | 
						|
 | 
						|
CouchDB Service
 | 
						|
===============
 | 
						|
 | 
						|
.. include:: example_header.inc
 | 
						|
 | 
						|
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.
 | 
						|
 | 
						|
.. code-block:: bash
 | 
						|
 | 
						|
    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.
 | 
						|
 | 
						|
.. code-block:: bash
 | 
						|
 | 
						|
    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.
 | 
						|
 | 
						|
.. code-block:: bash
 | 
						|
 | 
						|
    COUCH2=$(sudo docker run -d -p 5984 -volumes-from $COUCH1 shykes/couchdb:2013-05-03)
 | 
						|
 | 
						|
Browse data on the second database
 | 
						|
----------------------------------
 | 
						|
 | 
						|
.. code-block:: bash
 | 
						|
 | 
						|
    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.
 |