我遇到了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之外启动网关,(node index.js),它运行得非常好。
我认为我遗漏了一些码头构成网络的东西,有人可以帮忙吗?
非常感谢,Giltho。