Docker使用時にpidファイルが残ってしまってコンテナが起動できずにエラーになるのはよくあることなので、覚えておくのが良いみたいですね。
以下pidファイルについての説明です。
「/var/run」ディレクトリは、システムを起動した後の情報が格納されるディレクトリです。このディレクトリには、主に実行中のプロセスに関する情報が格納された「pidファイル」が存在します。
「.pid」で終わっているファイルがpidファイルです。このファイルには、該当するプロセスのプロセスIDなどの情報が記述されています。
プロセスやシステムが異常終了したときにpidファイルが残っているせいでプロセスがうまく起動しないというトラブルもありえます。
引用元:Linux豆知識 193「/var/run」ディレクトリ
発生状況
docker-compose upをしている時にイレギュラーな終了方法をしてしまうとpidファイルが残ってしまい、エラーが起きることが多々あります。
エラー内容
pidファイルが残っている状態でdocker-compose upをすると下記のエラー・メッセージが表示されます。
A server is already running. Check /app/tmp/pids/server.pid.
解決法
server.pidファイルを削除する
$ rm tmp/pids/server.pid
これで無事にコンテナを起動出来ます!
$ docker-compose up (-d)