首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker无法连接到运行在同一服务器上的数据库

Docker无法连接到运行在同一服务器上的数据库
EN

Stack Overflow用户
提问于 2018-03-14 05:21:05
回答 1查看 631关注 0票数 0

我有两个对接图像,1)用于couchdb和2)一个web应用程序。web应用程序无法与运行在同一台机器上的couchdb对话。

当我直接访问couchdb时,它正在运行utils/#数据库/ utils/#数据库/

我漏掉了什么指点?

代码语言:javascript
复制
| Caused by: org.apache.http.conn.HttpHostConnectException: Connect to localhost:5984 [localhost/127.0.0.1] failed: Connection refused (Connection refused)
hashgraph_1  |  at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:159)
hashgraph_1  |  at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:359)
hashgraph_1  |  at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:381)
hashgraph_1  |  at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:237)
hashgraph_1  |  at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
hashgraph_1  |  at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
hashgraph_1  |  at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:111)
hashgraph_1  |  at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
hashgraph_1  |  at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72)
hashgraph_1  |  at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)

我的船坞撰写文件

代码语言:javascript
复制
version: "3"
services:
  hashgraph:
    build: "./"
    depends_on:
      - couchdb
    deploy:
      replicas: 1
      restart_policy:
        condition: always
    ports:
      - "51200-51299:51200-51299"
  couchdb:
    image: couchdb:2.1
    ports:
      - "5984:5984"
    deploy:
      replicas: 1
      restart_policy:
        condition: always

船坞输出ps

代码语言:javascript
复制
CONTAINER ID        IMAGE                            COMMAND                  CREATED              STATUS              PORTS                                                   NAMES
cc7e37cd6260        hashgraphexperiments_hashgraph   "java -jar swirlds.j…"   About a minute ago   Up About a minute   50200-50299/tcp, 0.0.0.0:51200-51299->51200-51299/tcp   hashgraphexperiments_hashgraph_1
9f4767b36aea        couchdb:2.1                      "tini -- /docker-ent…"   2 hours ago          Up About a minute   4369/tcp, 9100/tcp, 0.0.0.0:5984->5984/tcp              hashgraphexperiments_couchdb_1
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-14 05:26:32

depends_on:它只是等待另一个容器启动。

每当您想从couchdb容器代码调用hashgraph时,都需要使用couchdb:5984而不是localhost:5984

网络写作

您还可以显式地使用links条目而不是depends_on

对链接的描述是

链接:链接到另一个服务中的容器。要么指定服务名称和链接别名( service :别名),要么只指定服务名称。

链接还以与depends_on相同的方式表示服务之间的依赖关系,因此它们决定服务启动的顺序。

代码语言:javascript
复制
version: "3"
services:
  hashgraph:
    build: .
    links:
      - couchdb:couchdb
    deploy:
      replicas: 1
      restart_policy:
        condition: always
    ports:
      - "51200-51299:51200-51299"
  couchdb:
    image: couchdb:2.1
    ports:
      - 5984:5984
    deploy:
      replicas: 1
      restart_policy:
        condition: always
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49270225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档