LEFログ:学習記録ノート

leflog: 学習の記録をどんどんアップしていきます

設定をリセットしてfly.ioへのデプロイをやり直す方法(新しいDockerfileを生成したいとき)

Fly.io

結論

ローカルのDockerfilefly.tomlを削除すればOK

その後にfly launchすると、新しいDockerfileが自動的に生成される

※既に本番環境を動かしている場合は、実験用の新しいブランチを作って、そこで2つのファイルを削除後にfly launchを実行すれば、現在のアプリに適したDockerfileが自動的に作られる(このDockerfileを参考にする)

詳細

既にデプロイ済みのRailsアプリに、ActiveStorageを導入してからfly deployして更新しても、本番環境で画像が表示されませんでした。

これは、fly.io上のコンテナに、imagemagickなどの必要なパッケージがインストールされていないからです。つまり、Dockerfileを書き換えて、パッケージをインストールするように修正しなければなりません。

しかし、自力でDockerfileに手を加えるのは大変ですし、ミスをするとバグやエラーを生みかねません。なので、ここはflyコマンドの力を借りて、現在の状態(ActiveStorageを導入した後の状態)を読み取ってもらって、自動的に適切なDockerfileを生成してもらいましょう。

具体的な手順