Как соединить два контейнера docker - PullRequest
0 голосов
/ 05 мая 2020

У меня есть Docker контейнер с PostgreSQL, он работает нормально, так как я могу подключиться к нему из IntelliJ. В другом контейнере у меня есть приложение на основе GRP C, которое сразу дает сбой каждый раз, когда я пытаюсь запустить его, потому что ему нужно подключиться к базе данных Postgres, запущенной в другом контейнере.

Я пробовал публикация портов для обоих контейнеров, но ничего не помогает ... У меня даже возникла ошибка, потому что я попытался сопоставить два контейнера с одними и теми же портами, поскольку приложение подключается к postgres на порту, на котором оно работает, по умолчанию 5432 ( Я не менял это. * Заранее спасибо

Ответы [ 2 ]

1 голос
/ 05 мая 2020

Запустите контейнер приложения на порт 5432 и откройте его для любого порта, и заставьте контейнер postgres работать на любом порту и предоставьте порт 5432

docker run -p xxx:5432 yourapp
docker run -p 5432:yyy postgres 

необходимо обеспечить, чтобы postgres выполняется внутри контейнера в порту yyy

0 голосов
/ 10 мая 2020

Быстрый ответ:

Вы не можете.

Лучше всего, чтобы оба контейнера работали в хост-сети (--net host) или один контейнер работал в другой сети контейнеров (--net container:<containerID>).

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