ERROR: for test_db_1 Cannot start service db: driver failed programming external connectivity on endpoint test_db_1 (c0725b1665ce0d657ae65b915142e9e7dfbc8a3405d2b1599f9c26377a894526): Error starting userland proxy: Bind for 0.0.0.0:3306 failed: port is already allocated
ERROR: for db Cannot start service db: driver failed programming external connectivity on endpoint test_db_1 (c0725b1665ce0d657ae65b915142e9e7dfbc8a3405d2b1599f9c26377a894526): Error starting userland proxy: Bind for 0.0.0.0:3306 failed: port is already allocated
ERROR: Encountered errors while bringing up the project.
つまり、3306ポートが既に使われています。どんなサービスをそのポート番号を占めているのかを確認します。
sudo lsof -i:3306
Password:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 10115 _mysql 14u IPv6 0xebcee56ac2cbc277 0t0 TCP *:mysql (LISTEN)
見事に自分のローカルのmysqlでした。
そして、「mysql.server stop」で止めようとしたら、エラーになりました。
mysql.server stop
ERROR! MySQL server PID file could not be found!
そして、以下の方法もためしたました。全部だめでした。
$/usr/local/bin/mysql.server stop
sudo /usr/local/mysql/bin/mysqld stop
sudo /usr/local/mysql/support-files/mysql.server stop
最後、以下の方法でようやく止めることはできました。
sudo launchctl unload -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist