dockerを起動させようとしたところ、 port is already allocated, つまりポートはもう割り振っちゃってます的なエラーが発生
ERROR: for mysql Cannot start service mysql: driver failed programming external connectivity on endpoint test-mysql (b2c5bfe3339ba18ad0892ba8fc5a1f427a89b3915035bc12b0c4c1207e016f75): 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をしているので3306で実行しました $ sudo lsof -i:3306 Password: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 9447 _mysql 13u IPv6 0x6973239584594d63 0t0 TCP *:mysql (LISTEN) # 占領箇所を特定したら、そいつをkillすることで使えるようにします $ sudo kill 9447 #kill し終わったら、次は起動です! $ docker-compose up Starting test-mysql ... Starting test-mysql ... done Creating test-flask ... Creating test-flask ... done Attaching to test-mysql, test-flask test-mysql | 2017-08-24 02:12:21 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). test-mysql | 2017-08-24 02:12:21 0 [Note] mysqld (mysqld 5.6.37) starting as process 1 ... test-flask | * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit) test-flask | * Restarting with stat test-flask | * Debugger is active! test-flask | * Debugger PIN: 303-793-981
ちなみに色々試しましたが、以下のコードでは解決することができませんでした
$ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty # docker rm `docker ps -qa` # rm /var/lib/docker/network/files/local-kv.db
参考にした記事
Docker for Mac でコンテナが起動しなくなった時の対処
素人がMastodonインスタンスをアップデートできた話とお世話になったコマンドたち (2/2)
コメントを残す