Debug Note - MacOS Monterey 強佔 5000 Port 的問題

最近升級公司筆電到 MacOS Monterey 了,但是突然我要用 Docker compose 啟動我的專案卻失敗了,一直出現 OSError: [Errno 48] Address already in use

之前都沒這個狀況,我就想說是哪個我沒注意到啟動的程式佔用了。所以我就在使用 lsof -n -i:5000 | grep LISTEN 查看一下是哪個小兔崽子佔用了,找到 PID 之後馬上 kill <PID>。但是卻又馬上被佔用了,這個情況下我就發現案情並不單純了。

要知道 Port 5000 在滿多專案開發上都會是個預設的 Port Number,被佔用了可是很有問題的事情。尤其佔用的 Command 還是什麼 ControlCe 這壓根兒沒見過的 Command。上網查找了一下 ControlCe 好像是 Mac 的控制中心的意思。好在找到了同樣遇到問題的人,原來是新版本 MacOS Monterey 中 Sharing 裏面的 Airplay Receiver 會佔用這個 Port。

先到系統設定中搜尋 Sharing 的設定 系統設定中搜尋 Sharing

然後將最下方的 Airplay Receiver 關閉,這樣就可以了 關閉Airplay Receiver

Reference