在同一个数据卷上启动第二个容器不起作用
我正在尝试运行共享同一个数据卷容器的两个couchdb实例。
我使用下面的命令创build了容器
docker create -v /opt/couchdb/data --name couchdb-data debian:jessie /bin/true
然后开始在同一卷上的容器。
docker run -d -p 5984:5984 -v /opt/couchdb/data --name couchdb-1 --volumes-from couchdb-data klaemo/couchdb docker run -d -p 5985:5984 -v /opt/couchdb/data --name couchdb-2 --volumes-from couchdb-data klaemo/couchdb
我把数据放在一个,并尝试从另一个访问。
curl -H "Content-Type: application/json" -d '{"value":"ORielly"}' http://172.17.0.2:5984/db {"ok":true,"id":"9071064ff053a75d3c639fbf8d00098c","rev":"1-8b72db504e321c6d49070196dc426a19"} curl -H "Content-Type: application/json" -d '{"value2":"ORielly"}' http://172.17.0.2:5985/db curl: (7) Failed to connect to 172.17.0.2 port 5985: Connection refused
第二个连接拒绝 – 不知道是什么原因。
UPDATE
它看起来像我使用具有错误端口的容器IP来访问数据。 但是,它看起来像共享数据量沙发数据库似乎并没有与已经运行的容器共享。 如果您启动具有相同数据量的新容器,它会得到共享
这:-p -p 5985:5984
意思是:HostPort => 5985,ContainerPort => 5984。
如果直接访问容器IP,则需要使用ContainerPort。 否则curl到localhost:5985
。
另外,这个172.17.0.2
是一个容器的IP,你正在使用它。
这将让你知道每个容器IP:
docker inspect couchdb-1 -f '{{.NetworkSettings.Networks.bridge.IPAddress}}' docker inspect couchdb-2 -f '{{.NetworkSettings.Networks.bridge.IPAddress}}'
- 多个docker撰写文件,并指定env_file
- Docker – 如何设置本地web服务器
- selenium/节点 – Firefox的老版本的Firefox
- 如何在拥有专用dockerregistry服务器的情况下使用docker与gradle
- 在构build镜像时,Docker无法删除目录
- 由于Beyond Trust privman64.dll,VirtualBox V5.1.24 r1170无法运行Windows 7
- 停止顽固的容器?
- 内存问题,如何pipe理已退出的Docker容器?
- AWS Cloudwatch日志与Docker容器 – NoCredentialProviders:链中没有有效的提供者