エラー
Dockerでコンテナを立ち上げようとすると以下のエラーが出て、起動ができなかった。
5432のポートが既に他で使われていることが原因。
Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:5432 -> 0.0.0.0:0: listen tcp 0.0.0.0:5432: bind: address already in use
解決策
①ポートを占有しているアプリケーションを特定する
lsof -i :5432
何も出ない場合、頭にsudoをつけて再実行。そうするとパスワードが要求されるので、PCログイン時に使っているパスワードを入力。
sudo lsof -i :5432
Password:
②アプリ特定後、PIDをKillする
Password:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
postgres 141 postgres 7u IPv6 0xc658af2b5620d7cf 0t0 TCP *:postgresql (LISTEN)
postgres 141 postgres 8u IPv4 0xc658af268ae07bdf 0t0 TCP *:postgresql (LISTEN)
ポートを利用しているアプリケーションを特定したら、以下の様にPID番号を入力して、killしてあげる。
sudo kill 141
再度以下を行って、何も表示されなければOK
sudo lsof -i :5432