Docker Influx DB和Nodejs - 连接被拒

问题描述 投票:-1回答:1

我一直在尝试使用InfluxDB(时间序列数据库)并尝试使用Docker。从我所读到的内容来看,我已经将我的nodejs应用和InfluxDB定义在一个叫做 DockerCompose 文件。

Dockerfile

FROM node:12

# Create working directory
WORKDIR /usr/src/app

COPY package.json .

RUN npm install

COPY . .

CMD "node" "websocket.js"

docker-compose.yml

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应用程序试图与docker容器(使用InfluxDB nodejs库)进行通信时,它一直说:"我的应用程序已经启动了。"我发现这很奇怪,因为从单独的终端,我可以通过8086端口查询数据库。

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端口查询数据库。

$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端口完美地连接。

是不是我遗漏了什么,导致docker容器中的nodejs应用无法与另一个docker容器中的InfluxDB通信?我的印象是 docker-compose 文件应该为它建立网络。

谅谅

node.js docker docker-compose influxdb
1个回答
0
投票

@DavidMaze和@yogeshwar 谢谢你们的回复!在我的数据库连接中,我的数据库连接中,我的数据库连接中,我的数据库连接中,我的数据库连接中,我的数据库连接中,我的数据库连接中。是的,在我的数据库连接中,我把它改成了 influx-db 这就是我给我的服务命名,它的工作就像一个魅力! 谢谢你的帮助

© www.soinside.com 2019 - 2024. All rights reserved.