発生した問題
MacOSをMontereyにアップグレードして、docker-compose up -dをすると
🟩 追記:2024年10月発表のMacOS Sequoiaにアップグレードすると一度オフにしていたAirPlayレシーバが再度有効になり、同様の問題が発生した。
設定の画面などは変わっているが、Macの設定画面からAirPlayを検索でAirPlayレシーバーをオフにすれば良いので同様の手順で5000番ポートを使用できるようになった。
Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:5000 -> 0.0.0.0:0: listen tcp 0.0.0.0:5000: bind: address already in use
5000番ポートは既に使用しているという旨のエラーが発生した。
docker desktop for macを使用していたのでguiで5000番のポートが他のコンテナで使用されていないことを確認して再起動やdocker-compose down -v なども試してみたが改善されず。
$ sudo lsof -i -P | grep "LISTEN"
を試してみるとControlCeという機能が5000番ポートで起動していた。
これはMonterey以降実装された機能でAirPlayレシーバーというものらしいが、とりあえず使わなそうなのでオフにしてみる。
設定でAirPlayレシーバーと検索するとヒット
※画像は既にオフにした状態
これでdocker-compose up -dしてもポートが重複しないので5000番のコンテナも起動できるようになった👍