Не удалось разрешить docker составить имя службы из внешнего интерфейса - PullRequest
0 голосов
/ 01 февраля 2020

Привет, я новичок в использовании docker для разработки. Я пытаюсь связаться с внешним интерфейсом (реагировать) на внутренний (express. js) здесь.

Я также включил cors, я получаю сообщение об ошибке net::ERR_NAME_NOT_RESOLVED при попытке чтобы получить из внутреннего конца, используя URL http://backend:4001,

, но он работает, когда я использую docker внутренний IP-адрес, например: http://172.18.0.3:4001.

Ниже мой docker -compose.yml file.

Пожалуйста, сообщите, как это работает, спасибо.

version: "3"

services:

  backend:
    build: ./api
    volumes:
      - ./api:/usr/src/api
    ports:
      - 6002:4001
    depends_on:
      - database

  database:
    image: mongo:4.0.15-xenial
    ports:
      - 27018:27017


  frontend:
    build: ./app
    volumes:
      - ./app:/usr/src/app
    ports:
      - 6001:3000
    links:
      - backend
    depends_on:
      - backend

1 Ответ

1 голос
/ 01 февраля 2020

Это не будет работать, потому что ваш браузер (inte rnet клиент) не является частью docker сети стека, вы должны настроить свою внешнюю службу для подключения к http://localhost:6002 вместо http://backend:4001

...