Dockerize a CouchDB service

Note

如果您不喜欢 sudo ,请参阅Giving non-root access

这是一个使用数据卷在两个 CouchDB 容器之间共享相同数据的示例. 这可以用于热升级、在相同数据上测试不同版本的 CouchDB 等.

Create first database

我们将/var/lib/couchdb标记为数据卷.

$ COUCH1=$(docker run -d -p 5984 -v /var/lib/couchdb shykes/couchdb:2013-05-03)

Add data to the first database

我们假设您的 Docker 主机可以在localhost访问. 如果不是,请将localhost替换为 Docker 主机的公共 IP.

$ HOST=localhost
$ URL="http://$HOST:$(docker port $COUCH1 5984 | grep -o '[1-9][0-9]*$')/_utils/"
$ echo "Navigate to $URL in your browser, and use the couch interface to add data"

Create second database

这一次,我们请求共享访问$COUCH1的卷.

$ COUCH2=$(docker run -d -p 5984 --volumes-from $COUCH1 shykes/couchdb:2013-05-03)

Browse data on the second database

$ HOST=localhost
$ URL="http://$HOST:$(docker port $COUCH2 5984 | grep -o '[1-9][0-9]*$')/_utils/"
$ echo "Navigate to $URL in your browser. You should see the same data as in the first database"'!'

恭喜,您现在正在运行两个 Couchdb 容器,除了它们的数据之外,它们彼此完全隔离.

docker, example, 包安装, networking, couchdb, 数据量

by  icopy.site