LoginSignup
7
1

More than 5 years have passed since last update.

Rails with docker-composeで"A server is already running."と出る問題

Posted at

docker-composeで、dbwebの切り分け運用している方は多いらしい。(僕は長いことvagrantだったのでよくわかりません)

友人のプロジェクトを手伝っているときに、docker-compose upwebが立ち上がらないことがあったのでメモ。

問題の概要

docker-compose upとすると、A server is already running.というエラーが発生し、webコンテナが正常に起動してくれない。

原因

これは、何かしらの要因によって、前回のプロセスが正常に終了しなかった場合に発生すると考えられます。

docker-composeは、実行プロセスのPIDを<project_dir>/tmp/pids/server.pidに書き込み、終了時に削除するという方法をとっています。

docker-composeは、コンテナを立ち上げる際、まずこのファイルを見に行った上で、実行中のプロセスを確認します。

そのため、何かしらの要因でこのserver.pidが削除されず残ってしまった場合、docker-composeはこれを実行中とみなしてしまいます。

対処法

諸悪の根源であるserver.pidを葬り去りましょう。

$ rm <project_dir>/tmp/pids/server.pid

PIDがわかる場合は、server.pidの中で該当するPIDを削除するだけで大丈夫です。

7
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
1