Опубликовать временный порт docker-compose с IP-адресом - PullRequest
0 голосов
/ 28 февраля 2019

В docker-compose вы можете указать порты, такие как 1234, чтобы публиковать их на временном порту, и, например, 127.0.0.1:1234:1234, чтобы публиковать их на определенном интерфейсе.

Однако, есть ли способиспользовать эфемерный порт на определенном интерфейсе?

Похоже, нет опции --ip для docker-compose up, как есть для docker run.

1 Ответ

0 голосов
/ 01 марта 2019

Если я не ошибаюсь, я предполагаю, что вы хотите опубликовать на определенном интерфейсе с эфемерным портом - случайным образом - вы можете использовать это в вашем docker-compose.yml

ports:
  - "127.0.0.1::1234"

Или, если вы неВам не нужно указывать интерфейс и просто нужен временный порт, вы можете использовать это:

ports:
  - "1234"

В обоих случаях это заставляет контейнер прослушивать случайный порт, сопоставленный с конкретным портом (например, 1234)внутри контейнера, аналогично тому, что -P будет делать в docker run

Чтобы установить ip для контейнера в docker-compose, вы можете использовать следующее, чтобы он работал аналогично --ip в docker run,при условии, что у вас есть пользовательская сеть с именем my_network

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