docker - Docker容器-Couchbase服务器节点内部IP地址

标签 docker couchbase host

我已经为Couchbase创建了docker容器。该服务已启动并正在运行,但是使用以下命令,

couchbase-cli cluster-init -c $CB_SERVER_IPADDR:8091 --cluster-init-username=admin --cluster-init-password=couchbase --cluster-init-ramsize=2048

我在Couchbase中获得一个服务器节点,名称为其内部IP地址-172.x.x.x。然后,当我使用以下命令创建存储区时,
couchbase-cli bucket-create -c $CB_SERVER_IPADDR:8091 -u admin -p couchbase --bucket=heartbeat --bucket-type=couchbase --bucket-ramsize=500 --bucket-replica=0 --wait

存储桶被创建。但是,当我的Web应用程序位于不同的容器中时,通过Couchbase服务器运行所在的Docker主机的IP地址与长沙发通信,我收到以下错误消息
2014-08-05 21:49:00.106 INFO com.couchbase.client.CouchbaseConnection:  Reconnecting due to exception on {QA sa=172.x.x.x/172.x.x.x:11210, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0}
java.net.NoRouteToHostException: No route to host
        at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
        at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739)
        at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:485)
        at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:322)
        at com.couchbase.client.CouchbaseConnection.run(CouchbaseConnection.java:288)

我可以看到我的应用程序正在使用服务器节点名称,该名称是内部的IP地址,以便与该信息交流,从而导致错误。任何帮助表示赞赏

最佳答案

您的Web应用程序Docker容器无法解析Couchbase Docker容器的主机名。

您需要将Web应用程序容器和Couchbase容器链接在一起。

下面将为您的couchbase实例创建一个名称“couchbase”,此名称稍后将由Web应用程序docker容器引用。

sudo docker run -d --name couchbase <your couchbase image name>

下面将在Web应用程序Docker容器上的/ etc / hosts中添加一个条目“$ your_couchbase_docker_container_IP couchbase”
sudo docker run -d -P --link couchbase:couchbase <your web application image name>

然后在您的Web应用程序中,您可以使用couchbase:8091来访问couchbase docker容器

有关“docker链接”的更多详细信息,请访问https://docs.docker.com/userguide/dockerlinks/

关于docker - Docker容器-Couchbase服务器节点内部IP地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25152872/

相关文章:

java - 从 Docker 容器访问主机 Java

php - 使用 PHP、MySQL、nginx 同时运行多个 Dockerize 项目

docker - 从docker内部通过Oracle VM和cntlm代理进行Internet访问

memcached - 什么可以用于(可靠地)测试 Couchbase 延迟?

java - com.sun.proxy.$Proxy219 无法使用 Java Config 进行转换,但它可以与 xml 一起正常工作

ruby-on-rails - 如何访问 Rails scraper 中的命名路线?

bash - 商店软件 6 : How to set boolean config values with Docker exec in Git Bash

caching - Couchbase:是否可能有陈旧的冷缓存?

java - 在主机 Java 中连接 SQLite 时遇到问题

eclipse - 尝试连接到 Eclipse 插件存储库时出现未知主机错误