docker-compose up -d
した状態でうっかり docker-compose.yml
を編集したりすると、 docker-compose down
しても down せずに残ってしまう事がある。
Creating network "lumenspeed_default" with the default driver Creating lumenspeed_app_1 ... error ERROR: for lumenspeed_app_1 Cannot start service app: driver failed programming external connectivity on endpoint lumenspeed_app_1: Bind for 0.0.0.0:8088 failed: port is already allocated
この場合は docker-compose down
でコンテナが終了されていないので、ポートがぶつかって新しく docker-compose up -d
できなくなっている。
docker ps
すると生き残っているのがわかる。
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6e44cb76d7ca phpearth/php:7.3-litespeed "/sbin/runit-wrapper" About an hour ago Up About an hour 0.0.0.0:7080->7080/tcp, 0.0.0.0:8088->8088/tcp lumen-lightspeed_app_1
つまり、普通に docker を終了させる方法でやればいい。
$ docker kill 6e44cb76d7ca
6e44cb76d7ca
これで起動できる
$ docker-compose up -d Starting lumenspeed_app_1 ... done