1
0

【Rails】bin/dev実行するとコンテナが落ちる

Last updated at Posted at 2024-09-09

はじめに

プログラミングスクールで学習中のものです。
webアプリ制作中にbin/devコマンドを実行するとローカルホストに接続できなる事象が起き、解決できたため内容をまとめました。

動作環境

  • OS: macOS
  • Rails: 7.2.1
  • Ruby: 3.2.3
  • Docker: 25.0.3
  • Docker Compose: 2.24.6

事象

CSSを追加したい時などにbin/devコマンドを実行すると、localhost:3000にアクセスできなくなる。

dockerのログを見ると、webコンテナが強制終了されている(dbコンテナは無事)。

Image from Gyazo

原因

bin/devが重複して実行されていたのが原因でした。

まず、bin/devコマンドを実行後のdockerログを見るとわかる通り、サーバーは既に起動済みとのことです。

00:00:00 web.1  | A server is already running (pid: 12, file: /myapp/tmp/pids/server.pid).
00:00:00 web.1  | Exiting

なぜこのようなことが起きるかというと、compose.ymlの設定を見るとわかります。

compose.yml
services:
  web:
    command: bash -c "(省略) && ./bin/dev"

上記の通り、command:欄で./bin/devが設定されています。これにより、docker compose upすると同時に自動でbin/devコマンドが実行されるようになっていました。

つまり、すでにbin/dev実行済みのところにさらにbin/devしてしまっていたがために起こった事象でした...。

わざわざ手動でbin/devする必要はなかったということですね。

おわりに

見様見真似で環境構築したために、このような間違った操作をしてしまいました。
今後は設定内容などきちんと踏まえた上でrails newしていこうと思います!

参考

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