❌ Проблема
При запуске Docker контейнеров в WSL2 на Windows если вы сталкиваетесь с ошибкой:
Text
Что происходит? 🕵️♂️
Windows "забывает" освободить порты после предыдущих сессий Docker, создавая призрачные блокировки. WSL2 видит эти блокировки и не позволяет Docker занять порт, хотя на самом деле он свободен.
📋 Пошаговая инструкция исправления
🖥️ Шаг 1: Открыть WSL терминал
- •Способ A: Нажмите
Win + R, введитеcmd, нажмите Enter, затем введитеwsl - •Способ B: Найдите "Ubuntu" или вашу версию WSL в меню Пуск и запустите
- •Способ C: В PowerShell введите
wsl
⚡ Шаг 2: Останавливаем Docker
Bash
🎯 Что должно произойти?
После выполнения этих шагов:
- •✅ Ошибка о занятых портах исчезнет
- •✅ Контейнеры запустятся нормально
- •✅ Порт 5055 (или любой другой) будет доступен
- •✅ Docker будет работать стабильно
🔄 Если проблема повторится
Это временное решение, которое работает в 90% случаев. Если проблема возникает часто, рассмотрите постоянные решения:
- •Решение 2: Сброс сетевых служб Windows
- •Решение 3: Настройка исключений портов в Windows
- •Решение 4: Смена порта в docker-compose.yml
💡 Профилактика
Чтобы проблема возникала реже:
- •Всегда корректно останавливайте контейнеры:
docker-compose down - •Избегайте принудительного закрытия WSL окон
- •Регулярно обновляйте WSL и Docker Desktop
Статус решения: ✅ Проверено и работает
Время выполнения: ⏱️ 1-2 минуты
Сложность: 🟢 Начальный уровень
Сложность: 🟢 Начальный уровень
Попробуйте это решение и сообщите о результате! Если не сработает - перейдем к следующему варианту. 🚀