docker を使って rails 開発をしていると度々サーバーが起動済みと怒られてしまう。
app_1 | 18:47:12 server.1 | started with pid 28
app_1 | 18:47:12 assets.1 | started with pid 29
app_1 | 18:47:24 server.1 | => Booting Puma
app_1 | 18:47:24 server.1 | => Rails 5.2.0 application starting in development
app_1 | 18:47:24 server.1 | => Run `rails server -h` for more startup options
app_1 | 18:47:25 server.1 | A server is already running. Check /usr/src/app/tmp/pids/server.pid. 👈これ
app_1 | 18:47:25 server.1 | Exiting
app_1 | 18:47:25 server.1 | exited with code 1
app_1 | 18:47:25 system | sending SIGTERM to all processes
app_1 | 18:47:25 assets.1 | terminated by SIGTERM
ログを見た感じ server.pid ってのが残ってるせいで起動済みと誤認識されているっぽい。
$ docker-compose run サービス名 rm 上のログで出力されたserver.pid
で削除してあげれば良い。
※ サービスは docker-compose.yml で services:
で指定した名称。コンテナともイメージとも違うので注意。