Докер молча скрывает порт на macOS
Вот история. У меня есть приложение (Scala), которое работает в докере, определенном docker-compose.yml
так:
app: image: dmydlarz/foobar ports: - "9000:9000"
Когда он начинается с Docker, он прослушивает порты в соответствии с lsof -PiTCP -sTCP:LISTEN
:
com.docke 631 darek 25u IPv4 0xd4ed8c6c9c16c231 0t0 TCP *:9000 (LISTEN) com.docke 631 darek 26u IPv6 0xd4ed8c6c9c20bae9 0t0 TCP localhost:9000 (LISTEN)
Так что, как видите, он слушает как на Ip4, так и на Ip6.
Теперь, когда я запускаю свое приложение из командной строки / IntelliJ, оно успешно запускается и также прослушивает порт 9000 (!).
Когда я перечисляю открытые порты, вот что у меня есть:
com.docke 631 darek 25u IPv4 0xd4ed8c6c9c16c231 0t0 TCP *:9000 (LISTEN) com.docke 631 darek 26u IPv6 0xd4ed8c6c9c20bae9 0t0 TCP localhost:9000 (LISTEN) java 53995 darek 249u IPv6 0xd4ed8c6c7ec3d8e9 0t0 TCP localhost:9000 (LISTEN)
3 процесса прослушивают порт 9000, 2 из них по одному протоколу Ip6.
При такой настройке приложение Docker всегда обслуживает запросы. Всегда означает для всех URL, которые я пытался:
curl http://[::1]:9000/...
curl http://127.0.0.1:9000/...
curl http://localhost:9000/...
Когда я убиваю приложение Docker, запросы обслуживаются локальным приложением.
Я заставил приложение Docker запускаться только на Ip4 с указанием адреса привязки:
app: image: dmydlarz/foobar ports: - "127.0.0.1:9000:9000"
которые мешают запускать два процесса одновременно, но все же предыдущее поведение совершенно неловко для меня.
Итак, у меня есть 2 вопроса:
- Почему Docker молча скрывает порт на локальной машине? Почему он не блокирует запуск локального приложения на том же порте и позволяет обслуживать запросы, когда приложение Docker убивается?
- Почему мне удалось запустить 2 приложения по одному протоколу (ip6) и одному и тому же порту?
0 ответов на вопрос
Похожие вопросы
-
2
Windows 7 Home Premium запоминает пароли общего доступа к сети?
-
5
Поделитесь XP сетевым подключением без перезагрузки?
-
5
Как мне сказать Windows использовать 802.11 вместо 3G?
-
-
4
Есть ли способ поделиться сканером многофункционального принтера?
-
3
Есть ли способ соединить два компьютера через USB?
-
3
Как сохранить несколько подключений к интернету?
-
4
iPod-Touch для воспроизведения фильмов с ПК на PS3?
-
2
Mac не присоединится к рабочей группе Windows
-
1
Как я могу повысить безопасность своего портала?
-
1
Как подключить к сети Windows XP и Ubuntu Linux?