何が起きたか?
すでに動いているプロセスの影響でサーバの立ち上げがうまくいかない。
A server is already running. Check /myapp/tmp/pids/server.pid.
解決方法
docker-compose up --buildする前にプロセスを消すようにした。
$ rm -f tmp/pids/server.pid
としてから、
$ docker-compose up --build
を実行する。
補足
毎回プロセスを消すコマンドを打つのは面倒だし、忘れがちなのでdocker-compose.yml内に実行処理を書いておく。
rails serverの直前に実行したいので、下記のように記述した。
ポイントは、commandで複数実行することになるので、bash -c
に変更したこと。
command: rails s -b 0.0.0.0 -p 3000 # 変更前
command: bash -c "rm -f tmp/pids/server.pid && rails s -b 0.0.0.0 -p 3000" # 変更後