Sobes.tech
Back to questions
Senior
6

Что происходит при проброске портов в Docker? Как это реализуется?

Companies where asked
WildberriesWildberries

Answer from AI

sobes.tech AI

При проброске портов в Docker происходит сопоставление порта контейнера с портом хоста, чтобы сервис внутри контейнера был доступен извне.

Реализация:

  • В Docker при запуске контейнера с флагом -p <host_port>:<container_port> создаётся правило в сетевом стеке хоста.
  • Это правило перенаправляет входящие TCP/UDP соединения на указанный порт хоста внутрь контейнера на соответствующий порт.
  • Docker использует механизм iptables (в Linux) или другие сетевые технологии для настройки NAT и проброса портов.

Например, команда:

docker run -p 8080:80 nginx

означает, что все запросы к порту 8080 на хосте будут перенаправлены на порт 80 внутри контейнера с nginx.

Таким образом, проброс портов позволяет контейнерам быть доступными снаружи, несмотря на изоляцию сети контейнера.