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が起動していたのかは謎です。。。