Почему контейнер не может запросить другой? - PullRequest
0 голосов
/ 04 апреля 2019

Я не могу отправить http-запрос из контейнера в другой

Я уже пытался создать сеть, но это не помогло

version: '2'
services:
 backend:
    container_name: backend
    image: registry.gitlab.com/myproject/backend:latest
    restart: always
    ports:
      - 10083:3000
    networks:
      - dpnet
 widget-ws:
    container_name: widget-ws
    image: registry.gitlab.com/myproject/widget-ws:latest
    restart: always
    ports:
      - 10084:3001
    networks:
      - dpnet
networks:
  dpnet:
    driver: bridge

Я использую застрахованный контейнер http://widget-ws:10084 но получил ошибку connect ECONNREFUSED 172.21.0.2:10084

Ответы [ 3 ]

0 голосов
/ 04 апреля 2019

Кажется, вы смешиваете внутренние IP-адреса с портами, которые вы открыли для хоста. Замените http://widget-ws:10084 на http://widget-ws:3001, и ваши соединения должны работать.

0 голосов
/ 05 апреля 2019

Тип сети, которую использует контейнер, будь то мост, наложение, сеть Macvlan или пользовательский сетевой плагин, прозрачен изнутри контейнера.Поэтому используйте порт контейнера вместо использования внешнего связанного порта.

http://widget-ws:3001
0 голосов
/ 04 апреля 2019

Используйте URL: http://widget-ws:3001

Контейнеры взаимодействуют друг с другом по внутренним портам, а не по тем, которые назначены вашему хосту.

Нет необходимости создавать сеть.

...