Docker связь между контейнерами - PullRequest
0 голосов
/ 29 января 2020

Я хочу создать два контейнера и соединиться друг с другом, но у меня ничего не получается. Мой docker -compose.yml:

version: '3.3'

networks:
  my_network:

services:
  test:
    image: ubuntu:latest
    command: sleep infinity
    networks:
      - my_network
  nginx:
    image: nginx:latest
    ports:
        - 80:80
    networks:
      - my_network

Чтобы проверить соединение, я запускаю echo "" > /dev/tcp/0.0.0.0/80 на хост-компьютере, и он работает нормально; Затем я делаю то же самое во втором контейнере test; Там я получаю

echo "" > /dev/tcp/0.0.0.0/80
bash: connect: Connection refused
bash: /dev/tcp/0.0.0.0/80: Connection refused

Есть идеи, что я делаю не так?

1 Ответ

1 голос
/ 29 января 2020

Вы можете подключиться из одного контейнера в другой, используя имя службы, в вашем случае test или nginx. Например, в контейнере nginx вы можете запустить:

$ echo "" > /dev/tcp/test/<port>

Вам даже не нужно выставлять порт в docker-compose.yml.

Если вы хотите использовать другой имя хоста для подключения к контейнеру вы можете использовать aliases

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...