1
0

More than 3 years have passed since last update.

Docker+ECS(fargate)+Railsで環境構築をした際tmp/pids/server.pidのエラーが消えない時の対処

Last updated at Posted at 2021-03-29

やりたかったこと

以下の手順でDocker環境で開発を行なっているRailsプロジェクトの本番環境を構築

# Dockerイメージを作成
$ docker build -t リポジトリ名 . -f Dockerfile-prod --build-arg RAILS_MASTER_KEY=xxxxxxxxxxxxxxx
# リポジトリにイメージをプッシュできるようにタグ付け
$ docker tag リポジトリ名:latest アカウント番号.dkr.ecr.ap-northeast-1.amazonaws.com/リポジトリ名:latest
# リポジトリにプッシュ
$ docker push アカウント番号.dkr.ecr.ap-northeast-1.amazonaws.com/リポジトリ名:latest

エラー発生

しかし、ECSのタスクのログを見ると以下のエラーが発生し上手く立ち上がらない。

=> Booting Puma
=> Rails 5.2.4.2 application starting in development 
=> Run `rails server -h` for more startup options
A server is already running. Check /tmp/pids/server.pid
Exiting

まだ立ち上げておらずdb:migrateもしていないのに上記のエラーが出るのは不自然なので、
Dockerファイルなど設定を色々見直し。

原因

ローカル環境のdockerが立ち上がっていたままプッシュしていた。
そのため、ローカルのserver.pidもプッシュしておりエラーが発生していた。

対処内容

docker-compose downでローカルのDockerを落としたあと、念の為下記のディレクトリのファイルが消えているか確認。

/Users/ユーザー名/プロジェクト名/tmp/pids/server.pid

消えていたら再プッシュして、エラーを吐かずに動いていれば完了。

1
0
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
1
0