nginxのrestartでエラー
dockerのnginxをrestartしようとすると以下のエラーが発生
■エラー内容
root@ip-10-0-0-200:/home/ubuntu/laradock_blog# docker-compose restart nginx Restarting laradock_nginx_1 ... error ERROR: for laradock_nginx_1 Cannot restart container 88875059bdd36127f2d9274601de85cff4e2c34e9db3a20df4d9604194cc7077: driver failed programming external connectivity on endpoint laradock_nginx_1 (6b970ebee30764b2a5dfa4e44a49c981bc5adbe86cb5ecb6bb8097b55db456f5): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use
どうやら起動しようとした80ポートが既に何者かに利用されているため、起動できないというエラーのようです。
以下のコマンドで確認してみると
root@ip-10-0-0-200:/home/ubuntu/laradock_blog# sudo lsof -i -P | grep "LISTEN" systemd-r 631 systemd-resolve 13u IPv4 15692 0t0 TCP localhost:53 (LISTEN) sshd 977 root 3u IPv4 19497 0t0 TCP *:22 (LISTEN) sshd 977 root 4u IPv6 19505 0t0 TCP *:22 (LISTEN) apache2 994 root 4u IPv6 19580 0t0 TCP *:80 (LISTEN) apache2 1021 www-data 4u IPv6 19580 0t0 TCP *:80 (LISTEN) apache2 1022 www-data 4u IPv6 19580 0t0 TCP *:80 (LISTEN) apache2 1023 www-data 4u IPv6 19580 0t0 TCP *:80 (LISTEN) apache2 1024 www-data 4u IPv6 19580 0t0 TCP *:80 (LISTEN) apache2 1025 www-data 4u IPv6 19580 0t0 TCP *:80 (LISTEN) apache2 1663 www-data 4u IPv6 19580 0t0 TCP *:80 (LISTEN) apache2 1664 www-data 4u IPv6 19580 0t0 TCP *:80 (LISTEN) apache2 1665 www-data 4u IPv6 19580 0t0 TCP *:80 (LISTEN) docker-pr 2036 root 4u IPv6 25249 0t0 TCP *:3306 (LISTEN) docker-pr 2165 root 4u IPv6 25673 0t0 TCP *:2222 (LISTEN
なぜかapacheが動いている。。。
apacheが動いているせいですでに80番ポートが利用されてしまい新しいプロセス(nginx)が起動できなくなってしまった。
というわけで以下のコマンドでapacheを停止する。
root@ip-10-0-0-200:/home/ubuntu/laradock_blog# sudo apachectl stop root@ip-10-0-0-200:/home/ubuntu/laradock_blog# sudo lsof -i -P | grep "LISTEN" systemd-r 631 systemd-resolve 13u IPv4 15692 0t0 TCP localhost:53 (LISTEN) sshd 977 root 3u IPv4 19497 0t0 TCP *:22 (LISTEN) sshd 977 root 4u IPv6 19505 0t0 TCP *:22 (LISTEN) docker-pr 2036 root 4u IPv6 25249 0t0 TCP *:3306 (LISTEN) docker-pr 2165 root 4u IPv6 25673 0t0 TCP *:2222 (LISTEN)
nginxを再起動するコマンドを実行すると
root@ip-10-0-0-200:/home/ubuntu/laradock_blog# docker-compose restart nginx Restarting laradock_nginx_1 ... done root@ip-10-0-0-200:/home/ubuntu/laradock_blog#
正常に起動することができました。
なぜapacheが起動していたのかは謎です。。。