首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >码头人员流入DB和Nodejs -拒绝连接

码头人员流入DB和Nodejs -拒绝连接
EN

Stack Overflow用户
提问于 2020-05-08 01:11:19
回答 1查看 2.1K关注 0票数 0

我一直在尝试使用InfluxDB (时间序列数据库)并尝试使用Docker。根据我所读到的,我在一个DockerCompose文件中定义了我的nodejs应用程序和DockerCompose

Dockerfile

代码语言:javascript
复制
FROM node:12

# Create working directory
WORKDIR /usr/src/app

COPY package.json .

RUN npm install

COPY . .

CMD "node" "websocket.js"

docker-compose.yml

代码语言:javascript
复制
version: '3'
services:
  web:
    image: docker-td-node-api
    build: .
    command: "node websocket.js"
    depends_on:
      - "influx-db"
  influx-db:
    image: influxdb
    ports: 
      - "8086:8086"

除了我的nodejs应用程序试图与码头容器(使用InfluxDB nodejs库)通信时,一切都正常启动,它不停地说:

代码语言:javascript
复制
web_1        | Getting database names...
web_1        | Error: connect ECONNREFUSED 127.0.0.1:8086
web_1        |     at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16) {
web_1        |   errno: 'ECONNREFUSED',
web_1        |   code: 'ECONNREFUSED',
web_1        |   syscall: 'connect',
web_1        |   address: '127.0.0.1',
web_1        |   port: 8086
web_1        | }

我觉得这很奇怪,因为我可以通过一个单独的终端通过端口8086查询数据库:

代码语言:javascript
复制
$curl -G http://127.0.0.1:8086/query --data-urlencode "q=CREATE DATABASE mydb"
{"results":[{"statement_id":0,"messages":[{"level":"warning","text":"deprecated use of 'CREATE DATABASE mydb' in a read only context, please use a POST request instead"}]}]}

当我开始使用docker-compose up启动nodejs & InfluxDB时,我可以在一个单独的终端窗口启动nodejs应用程序,它通过端口8086完美地连接起来。

是否有什么东西是我缺少的,是阻止nodejs应用程序在一个码头容器中的沟通,与InfluxDB在另一个码头容器?我觉得docker-compose文件应该为它建立网络。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-08 01:58:54

@DavidMaze和yogeshwar谢谢您的回复!是的,在我的数据库连接中,我将它更改为influx-db,这是我命名的服务,它工作起来很有魅力!谢谢你的帮忙!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61670369

复制
相关文章

相似问题

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