dockerでbuildするとエラー
mysqlのビルドですでにポートが使われているとエラーを吐く。
ERROR: for mysql Cannot start service mysql: driver failed programming external connectivity on endpoint appname Error starting userland proxy: listen tcp4 0.0.0.0:3306: bind: address already in use ERROR: Encountered errors while bringing up the project.
lsof -i :3306
でポートを調べても何も出てこない。だが、
netstat -lntep |grep 3306 tcp 0 0 127.0.0.1:33060 0.0.0.0:* LISTEN 999 30555 - tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 999 32936 -
ではポートがtcpで使用されていると出てくる。
mysqlが動いていた
どうやら3306はmysqlが使用していたようだ。
sudo apt-get remove --purge mysql-server* mysql-common sudo apt-get autoremove --purge
を実行すると、
netstat -lntep |grep 3306
で何もでなくなった。 docker-compose upでビルド成功。
ローカル環境を汚すのはなるべく避けよう
プログラミング始めたての頃に、LAMPを建てたのだがおそらくそのときの残りであると思われる。 今はなるべくcondaの仮想環境やdockerを使用するつもりである。