Ошибки и коды · Инструкция
Docker: port is already allocated — как найти занятый порт и запустить контейнер
Полезнее не менять всё сразу, а проверить цепочку по частям и после каждого шага повторять исходный сценарий. Для темы «
Короткий ответ
Найдите контейнер или процесс, уже занявший host‑порт, и остановите его либо назначьте новому контейнеру другой внешний порт. Внутренний порт приложения менять обычно не нужно.
Проверка по порядку
- Запишите host-порт из ошибки Docker, например 8080.
- Выполните `docker ps` и проверьте опубликованные порты уже работающих контейнеров.
- Если контейнера нет, найдите системный процесс через `netstat -aon`, `lsof -i :PORT` или `ss`, в зависимости от ОС.
Исправление
- Остановите ненужного владельца порта или измените mapping, например `-p 8081:80`, сохранив внутренний порт.
- Повторно запустите контейнер и проверьте `docker ps`, что новый mapping активен и не конфликтует.
Перед завершением
- Выполнен шаг 1: Запишите host-порт из ошибки Docker, например 8080.
- Выполнен контрольный шаг: Если контейнера нет, найдите системный процесс через `netstat -aon`, `lsof -i :PORT` или `ss`, в зависимости от ОС.
- Повторно проверен исходный симптом после шага 5: Повторно запустите контейнер и проверьте `docker ps`, что новый mapping активен и не конфликтует.
Важно
Меняйте по одному параметру за попытку, иначе будет невозможно понять, какое действие реально изменило результат.
Что учитывать
Меняйте по одному параметру за попытку, иначе будет невозможно понять, какое действие реально изменило результат.
Источники и проверка
Инструкция составлена редакцией N1RO на 2026-09-17. Перед действием сверьте актуальные условия на официальном сайте сервиса или производителя.