【发布时间】:2019-11-22 19:29:56
【问题描述】:
我正在尝试构建一个 docker-compose 文件,该文件运行一个使用 prisma 和 mongodb 的 node.js graphql api。 但是我收到一个错误request to http://localhost:4466/ failed, reason: connect ECONNREFUSED 127.0.0.1:4466 当我尝试从 graphql 游乐场发送请求时,当我运行 prisma deploy 或只是尝试时同样的错误从 graphql 容器内 ping http:localhost:4466。
我尝试使用默认网络并创建新网络,但我遇到了同样的错误。 我曾尝试在版本 3 中使用链接(已弃用),但我也遇到了同样的错误。
P.S 我可以在浏览器中正常打开 prisma 的 Playground,链接:http://localhost:4466
这是我的 docker-compose 文件:
version: '3'
services:
web:
build: .
networks:
net:
ports:
- "80:4000"
command: wait-for-it/wait-for-it.sh http://localhost:4466 -t 30 -- ./run.sh
prisma:
image: prismagraphql/prisma:1.34
restart: always
networks:
net:
ports:
- "4466:4466"
environment:
PRISMA_CONFIG: |
port: 4466
# uncomment the next line and provide the env var PRISMA_MANAGEMENT_API_SECRET=my-secret to activate cluster security
# managementApiSecret: my-secret
databases:
default:
connector: mongo
uri: mongodb://prisma:prisma@mongo
command: /bin/sh.sh
mongo:
image: mongo:3.6
restart: always
networks:
net:
environment:
MONGO_INITDB_ROOT_USERNAME: prisma
MONGO_INITDB_ROOT_PASSWORD: prisma
ports:
- "27017:27017"
volumes:
- mongo:/var/lib/mongo
volumes:
mongo:
networks:
net:
这是 web 服务的 dockerfile:
FROM node:10
WORKDIR /app
COPY . /app/
RUN yarn install --pure-lockfile
RUN yarn global add prisma
这是 run.sh 文件:
echo "prisma deploy command "
prisma deploy
echo "get-schema command"
yarn run get-schema
echo "starting command"
yarn run start
有什么我误解的地方,或者我需要解决什么问题才能使其正常工作?
【问题讨论】:
标签: node.js docker docker-compose graphql prisma