はじめに
Railsを使ってECサイトを作っているときに、docker-compose up をしたら、A server is already running. Check /app/tmp/pids/server.pid. というエラーに苦しめられたので、解決方法をまとめてみました。
環境
・macOS High Sierra バージョン10.13.4
・Docker version 19.03.1
・Rails 5.2.1
docker-compose upでエラーがでて、起動できないときは?
エラーメッセージ
A server is already running. Check /app/tmp/pids/server.pid.
◆解決策1
・エラーメッセージで指摘されているとおり、app/tmp/pids/server.pid.があれば、削除して再起動する
◆解決策2
・docker-compose downでリセットした後、再起動する
エラーが起こらないようにするには?
・Dockerを終わるときは、control+cだけで終わらずに、docker-compose stopを忘れずにして、サービスを停止する
おまけ:docker-compose upとdocker-compose startの違いは?
◆docker-compose up
・docker-compose.ymlで定義したサービスを開始、再起動させる
◆docker-compose start
・すでに作ったコンテナを再起動する(※新しいコンテナは作らない)
おわりに
ぼくの場合は、Dockerを終わるときにdocker-compose stopを忘れて、エラーになることが多かったです・・・
そのときは、docker-compose downでいつもリセットしてから再起動をしていたので、完全に2度手間でした(笑)
おわり