1

我在使用 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 网络的一些东西,有人可以帮忙吗?

非常感谢,吉尔索。

4

0 回答 0