docker-compose up時にエラー「listen tcp 0.0.0.0:xxx: bind: address already in us」の原因と対処法

docker-compose up時にエラー「listen tcp 0.0.0.0:xxx: bind: address already in us」の原因と対処法

自分の環境でdocker-compose up時に、発生したエラーは80番ポートでエラーメッセージは「listen tcp 0.0.0.0:80: bind: address already in us」でした。

環境

  • OS ubuntu 20.04
  • docker 19.03.8
  • docker compose 1.25.4

エラー内容

Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use
ERROR: Encountered errors while bringing up the project.

原因

エラーメッセージ通り、すでに80番ポートが利用されているため

今回利用した、docker-compose.ymlには80番を利用するように記述されているので、利用できないとエラーが発生しているだけ

ports :
      - 80:80

対処法

ポート80を利用しているプロセスを確認

sudo lsof -i -P | grep "LISTEN"

nginx     999668            root    6u  IPv4 5489451      0t0  TCP *:80 (LISTEN)
nginx     999669        www-data    6u  IPv4 5489451      0t0  TCP *:80 (LISTEN)
nginx     999670        www-data    6u  IPv4 5489451      0t0  TCP *:80 (LISTEN)
nginx     999671        www-data    6u  IPv4 5489451      0t0  TCP *:80 (LISTEN)
nginx     999672        www-data    6u  IPv4 5489451      0t0  TCP *:80 (LISTEN)

自分の環境だとnginxが利用していたので、サービスを停止し、解決しました。

sudo systemctl stop nginx

docker-compose.ymlの方のポートを変更しても解決はできました。

ports :
      - 81:80