ArangoDB Fastify CLI无法与Docker连接

8yparm6h  于 2022-12-09  发布在  Go
关注(0)|答案(1)|浏览(156)

我遇到了fastify CLI和docker的问题。我想创建一个与fastify一起使用的ArangoDB数据库,所以我创建了一个如下所示的docker-compose文件:
对接合成

arangodb:
    # container_name: arangodb
    build:
      context: ./bdd
      dockerfile: Dockerfile
    ports:
      - 8529:8529
    volumes:
      - ./bdd/data:/var/lib/arangodb3
      - ./bdd/apps:/var/lib/arangodb3-apps

  api:
    # container_name: api
    build:
      context: ./api
      dockerfile: Dockerfile
    ports:
      - 5000:5000
    depends_on:
      - arangodb
    volumes:
      - ./api:/usr/api
      - /usr/api/node_modules

这是调用我的API Dockerfile:

FROM node:14.17.1

WORKDIR /usr/api

COPY package*.json ./

RUN npm install

COPY . .

ENV DB_HOST=arangodb
ENV DB_PORT=8529
ENV DB_NAME=***
ENV DB_USER=***
ENV DB_PASS=***
ENV FASTIFY_ADDRESS=0.0.0.0                                                                                                     

EXPOSE 5000

CMD [ "npm", "run", "dev" ]

我将FASTIFY_ADRRESS设置为0.0.0.0,因为Docker在0.0.0.0上公开,如这里所述。
但是当我用这个图像启动我的docker容器时,arangoDb运行正常,但是我的API返回:
api@1.0.0开发人员/用户/应用程序接口api_1|〉fastify开始-w -l信息-P -p 5000应用程序. js api_1| api_1|错误:连接ECONREFUSED 127.0.0.1:8529 api_1|(net.js:1148:16)您的位置:首页
我错过什么了吗?

vlju58qv

vlju58qv1#

我已经用这个API Dockerfile解决了这个问题:

FROM node:14.17.1

WORKDIR /usr/api

COPY package*.json ./

RUN npm install

COPY . .

# Fastify configuration
ENV FASTIFY_ADDRESS=0.0.0.0
ENV FASTIFY_PORT=5000
# DB configuration
ENV DB_HOST=http://arangodb
ENV DB_PORT=8529
ENV DB_NAME=***
ENV DB_USER=***
ENV DB_PASS=***

EXPOSE 5000

CMD [ "npm", "run", "dev" ]

问题出在从arangodb到http://arangodb的DB_HOST配置中

相关问题