n1ro°
RU

Ошибки и коды · Инструкция

Docker: port is already allocated — как найти конфликт порта

В `ports` первый номер относится к хосту. Два сервиса не могут одновременно слушать один и тот же host IP/port, даже есл

Редакция N1RO · Проверено

Короткий ответ

Ошибка означает, что host-port уже занят другим контейнером или процессом. Найдите владельца порта, остановите его либо измените левую часть mapping `HOST:CONTAINER`, например `8081:80`.

Что делать

  1. Посмотрите контейнеры: Выполните `docker ps --format "table {{.Names}} {{.Ports}}"`.
  2. Найдите host-процесс: На ОС проверьте слушателя порта (`ss`/`lsof`/`Get-NetTCPConnection`).
  3. Выберите решение: Остановите ненужный процесс/контейнер или назначьте другой host-port.
  4. Исправьте Compose: Измените, например, `"8081:80"`, сохранив внутренний container-port.
  5. Пересоздайте сервис: Запустите `docker compose up -d` и проверьте `docker compose ps`.

Важно

Не меняйте container-port наугад: приложение внутри образа может слушать фиксированный порт.

Что учитывать

Не меняйте container-port наугад: приложение внутри образа может слушать фиксированный порт.

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. Compose services reference). Пример и формулировки — редакция N1RO на 2026-09-17.