Yanonoblog!

こつこつと

Macアップデート後、ポート5000が立ち上がらなくなる現象

はじめに

サーバー起動時にポート5000が使用できない場合の解決方法についてまとめています。

原因はMacのアップデートによるものでしたのでその部分の具体的な解決についても触れています。

サーバー起動時にポート5000が立ち上がらない

エラー内容:

Error response from daemon: Ports are not available: listen tcp 0.0.0.0:5000: bind: address already in use

このエラーは、指定したポート(この場合は5000)がすでに他のプロセスによって使用されていることを示しています。


エラー自体の主な原因

  • 他のアプリケーションやサービスが同じポートを使用している。
  • 以前のサーバーのセッションが正しく終了していない。
  • OSの特定の機能やサービスがポートを占有している。

通常のエラー解決方法

1. 使用中のポートのプロセスを確認
lsof -i:5000
2. プロセスの強制終了

関連するプロセスを強制的に終了します。

kill -9 $(lsof -t -i:5000)

プロセスについて解説

  • プロセスは、コンピュータ上で実行中のプログラムのインスタンスです。
  • 各プロセスは一意のプロセスID(PID)を持っています。
  • lsof コマンドは、特定のポートを使用しているプロセスを特定するのに役立ちます。

具体的なエラーの原因特定

macOS Montereyのアップデートにより、新しいAirPlay機能が追加されました。

この機能は、ControlCeというプロセスを通じてポート5000や7000を占有することがあります。

$ lsof -i :5000                                                                                                             ✘ 1 

COMMAND    PID       USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
ControlCe 4305 yano   21u  IPv4 0x23efc42ee04f50ed      0t0  TCP *:commplex-main (LISTEN)
ControlCe 4305 yano   22u  IPv6 0x23efc433ba3c6135      0t0  TCP *:commplex-main (LISTEN)

原因の解消方法 (Macの設定変更)

  1. システム環境設定を開きます。
  2. 「共有」をクリックします。
  3. 「AirPlay Receiver」のチェックを外して、機能を無効にします。

image

これでポート5000や7000が再び使用されることはなくなります。

おしまい

コメント

本記事の内容は以上になります!


プログラミングスクールのご紹介 (卒業生より)

お世話になったプログラミングスクールであるRUNTEQです♪

https://runteq.jp/r/ohtFwbjW

こちらのリンクを経由すると1万円引きになります。

RUNTEQを通じて開発学習の末、受託開発企業をご紹介いただき、現在も双方とご縁があります。

もし、興味がありましたらお気軽にコメントか、TwitterのDMでお声掛けください。

https://twitter.com/outputky