docker-compose upをした際に、「Cannot start service laravel.test: Ports are not available: listen tcp 0.0.0.0:80: bind: address already in use」と表示された。
ローカルのapacheが起動しており、80ポートを使っているのが原因だったが、apacheを停止するのに意外と手間取ったので忘備録として書いておく。
ps aux | grep httpd
XXXXXXXXX 80825 0.0 0.0 4277624 692 s001 S+ 3:36PM 0:00.00 grep httpd
_www 80823 0.0 0.0 4298400 808 ?? S 3:36PM 0:00.00 /usr/sbin/httpd -D FOREGROUND
root 80819 0.0 0.0 4298528 3168 ?? Ss 3:36PM 0:00.40 /usr/sbin/httpd -D FOREGROUND
やはり起動している。止めようと思って「sudo apachectl stop」を実行してみても、httpdは起動していないと言われる。
sudo apachectl stop
httpd (no pid file) not running
apatchctlが実行されているパスを調べてみる。
which apachectl
/usr/local/bin/apachectl
httpdのプロセスが起動しているパスは「/usr/sbin/httpd」だったので、どうやらローカルの違う場所にあるhttpdが実行されているらしい。
ということで、apachectlをフルパスで指定してstopを実行。
sudo /usr/sbin/apachectl stop
無事httpdのプロセスが停止して、docker-compose upが実行できた。