docker-compose up
してrails
サーバを立ち上げるときにこんなかんじで怒られることがある。
$ docker-compose up
...
web_1 | A server is already running. Check /app/tmp/pids/server.pid.
web_1 | => Booting WEBrick
web_1 | => Rails 5.0.6 application starting in development on http://0.0.0.0:3000
web_1 | => Run `rails server -h` for more startup options
web_1 | Exiting
...
docker-compose kill
とかでコンテナ終了させたとき、pidファイルが残っているのが原因。
毎回 rm tmp/pids/server.pid
するのも手間なので、docker-composeを修正します。
before
version: '3'
services:
db:
...
web:
build: .
command: bundle exec rails s -p 3000 -b '0.0.0.0'
volumes:
- .:/app
ports:
- "3000:3000"
depends_on:
- db
after
version: '3'
services:
db:
...
web:
build: .
command: /bin/sh -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
volumes:
- .:/app
ports:
- "3000:3000"
depends_on:
- db
おしまい