Назад к вопросам
Wildberries
Senior
7
Что происходит при проброске портов в Docker? Как это реализуется?
Компании, где спрашивали
Ответ от нейросети
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.
Таким образом, проброс портов позволяет контейнерам быть доступными снаружи, несмотря на изоляцию сети контейнера.