Занятый порт 5000 в macOS Monterey

После обновления до macOS Monterey столкнулся с проблемой. Запускаю свой docker container и вижу что порт 5000 занят. Сначала подумал, что я его сам чем-то занял. Оказалось дело в Airplay…

Маленькая предистория. Когда-то давно, по-моему используя Flask (Python Framework), я начал запускать сервисы с http на 5000 порту. Ну, чтобы не занимать дефолтный 80. Очень привык, настолько, что почти все мои локальные docker контейнеры с вебом я запускаю на 5000 порту.

Ну вот я в очередной раз делаю docker-compose up -d и сервис падает, пишет порт закрыт. Начинаю проверять, где я напортачил. Смотрел другие контейнеры — пусто. Смотрел другие процессы, а там сидит Control Center. Полез в Google а оказывается что так и должно быть.

В macOS Monterey Apple добавила возможность стримить через AirPlay на Mac. То есть, я могу с iPhone запустить проигрываться что-то на моем MacBook. И почему-то, разработчики Apple решили что 5000 порт отлично для этого подходит. И поэтому порт 5000 в macOS Monterey теперь занят.

Так что варианта два, либо отключаем AirPlay, либо начинаем использовать другой порт. Я решил не отключать, приспособлюсь.

Чтобы отключить, идем в System Preferences — Sharing. Внизу убираем галочку AirPlay Receiver. Если у вас стоит не английский язык в системе, делайте по аналогии.

Port 5000 is already in use in macOS Monterey

Надеюсь эта заметка была тебе полезна! И кстати, это одна из немногих заметок переводных в мой английской блог.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *