1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Error】死んだかと思った。恐ろしい呪文を使ってしまった。`docker compose down --volumes --remove-orphans`

Posted at

今回恐ろしい呪文を使用してしまった出来事。死んだかと思いました。
どんな状況でどう解決したのか。一連の流れを記憶に残しておくためにも記事にしておきたいと思います。

どういう状態だったのか

まず、タイトル記載の呪文を使う前の状況を簡単に説明します。

  • ローカル環境では投稿が成功するものの、本番環境で投稿するボタンを押したら遷移先の画面(英語表記)で「このページはない」というような文言が書かれていた
  • ターミナルログをみたらカラム10個あるうちの一つしか機能していない状態を確認
  • スキーマファイルのテーブルを確認しても問題なさそう
  • GPTに質問からの回答Dockerのキャッシュの問題

本題

どうやらDocker環境では、古いコンテナやキャッシュが残っている場合があるため、マイグレーションが正しく反映されないことがあるそうでタイトル記載のコマンドを実行してしまいました。

docker compose down --volumes --remove-orphans

そして、👆コマンドを実行したらローカルがつかなくなりました:scream:
なぜなのか。
後から上記コマンドについて検索をかけるおろかな私

バ○スなみの威力を持つ呪文でした

この後どうしたのか1

この後皆さんならどうしますか?(逆に聞きたい)
私は一日悩み>>講師の方に質問>>最終的に自分で解決:joy:

私が行ったこと👇滅びの呪文の後から

  • まずはクリーンな状態でコンテナを起動。イメージ構築
    docker compose build

  • 次にコンテナ構築
    docker compose up
    ここでエラーがでて、ローカルもつかない状態になりました。
    エラー内容は「PostgreSQLデータベースが正しく初期化され、myapp_developmentmyapp_test というデータベースが作成されましたがjs.1 css.1 の行にesbuild: not foundtailwindcss: not foundというエラーがあります。これは、これらのツールが Docker コンテナ内にインストールされていない」という事でした

※この後esbuildtailwindcssDockerコンテナ内にインストールするため、いろんな?ファイルにコードを追記したり、再度docker compose upをするものの結果は同じ

この後どうしたのか2

最終的に次の流れで無事解決しました

# 無駄に入力した内容は削除して一応バックアップを取っておく
cp -r . ../myapp_backup(myapp部分は仮)
docker compose build
docker compose run --rm web gem install rails

# esbuildとTailwind CSSのインストール
docker compose run --rm web yarn add esbuild tailwindcss

# Tailwind CSSの初期設定(tailwind.config.jsファイルが生成、既にある場合上書きされない
docker compose run --rm web npx tailwindcss init

# app/assets/stylesheets/application.tailwind.cssファイルの作成(既にあるならとばす)
@tailwind base;
@tailwind components;
@tailwind utilities;

# Procfile.devの確認(esbuildとtailwindcssが監視付きでビルドされる設定があるかどうか)
# 下記のような設定が含まれているか確認
js: yarn build:js --watch
css: yarn build:css --watch

# 最後にコンテナ構築
docker compose up

無事復活しました:joy:

👆dockerコマンド再確認

まとめ

無知ほど恐ろしいものはないですね。
講師の方に相談した時、時間の都合上その場で解決には至りませんでしたが「個々の部分調べてみて、試したりしても解決しなかったらまたきてください」という言葉をきいて少し気持ちを立て直すことができました。感謝です。
とりあえず、一安心?
今回の記事が何か参考になれば幸いです。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?