我遇到了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)您的位置:首页
我错过什么了吗?
1条答案
按热度按时间vlju58qv1#
我已经用这个API Dockerfile解决了这个问题:
问题出在从arangodb到http://arangodb的DB_HOST配置中