
После обновления до 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. Если у вас стоит не английский язык в системе, делайте по аналогии.

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