我在使用 docker-compose 容器时遇到问题。某处肯定有答案,但我似乎没有找到它所需的词汇,抱歉。
这是我的 docker-compose 文件:
version: '2'
services:
gateway-linkcs:
image: node:7
ports:
- 3000:3000
volumes:
- ../Gateway:/usr/src/app
working_dir: /usr/src/app
command: yarn startdev
networks:
- back-linkcs
postgres-user-linkcs:
build:
context: ../User
dockerfile: docker/Dockerfile
networks:
- back-linkcs
dev-user-linkcs:
image: node:7
ports:
- 3001:3001
volumes_from:
- postgres-user-linkcs
volumes:
- ../User:/usr/src/app
working_dir: /usr/src/app
command: /usr/src/app/docker/scripts/start-node.sh
environment:
- NODE_ENV=development # change to 'production' for prod
- GATEWAY_ADDRESS=gateway-linkcs:3000
networks:
- back-linkcs
networks:
back-linkcs:
我在 dev-user 中的节点应用程序假设使用网关作为代理来连接互联网上的 api,并且 dev-user 实际上找到了网关,并且能够连接到它(使用主机名'gateway-linkcs')但是,我的网关应用无法连接到外部 API:
Error: getaddrinfo ENOTFOUND api.xxx api.xxx:80
at errnoException (dns.js:28:10)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:73:26)
我已经测试了在 docker 之外启动网关(节点 index.js),它运行良好。
我想我缺少 docker-compose 网络的一些东西,有人可以帮忙吗?
非常感谢,吉尔索。