Dockerfile の変更が反映されていないようです
リポジトリに Dockerfile があり、それを編集したにもかかわらず、Lizard が実行するビルドがあなたの記述と一致しません。
これは何を意味するのか
プラットフォームは、リポジトリの Dockerfile が不完全だと判断し、あなたのものをそのまま使う代わりに lizardpack で再生成しました。
なぜこれが起こるのか
このチェックは GitHub ソースのサービスでのみ行われます。アップロード(lizard up)では、ルートの Dockerfile が常に記述どおりに使われます。
GitHub ソースでは、次の両方に当てはまる場合に、Lizard はルートの Dockerfile を不完全として扱います:
build、dist、out、.next、publicのいずれかを末尾のスラッシュなしでCOPYしている(例:COPY dist /usr/share/nginx/html)。npm、yarn、pnpm、bun、pip、pip3、bundle、cargo、go build、mvn、gradleのいずれかで始まるRUN行がない。
Lizard はそれらのアーティファクトがイメージの外部でビルドされたと見なし、lizardpack が不足しているビルド手順を含む置き換え用 Dockerfile を生成します。
ほかに 2 つの設定でも、リポジトリのルートの Dockerfile は使われません。dockerfilePath が設定されている場合、Lizard はそのファイルを記述どおりに使います。設定されていない場合、buildCommand または startCommand が設定されていると、Lizard はそれらのコマンドから Dockerfile を合成します。
考えられる解決策
実際のビルド手順を追加する
Dockerfile をそのまま使いたい場合は、ビルド済み出力をコピーするのではなく、実際のビルド手順を追加してください。
RUN npm ci && npm run buildまたはそのまま使用するよう強制する
dockerfilePath を設定してください。イメージのビルドではビルドコマンドと起動コマンドより優先されますが、startCommand が設定されていると、実行時には Dockerfile の CMD が置き換えられます。そのため、同じ更新で両方をクリアしてください。空の値を渡すとフィールドがクリアされます:
lizard service set api --set buildCommand= --set startCommand= --set dockerfilePath=Dockerfile関連情報
- ビルド Pipeline — ビルドの判断順序の全体像。
- ビルド設定リファレンス
- 最小構成の FastAPI コンテナ — 完全な Python の Dockerfile と、ソースからのビルドではなく自前のものを持ち込むべき場合。
これらのビルド項目を変更すると、ビルドが開始されることがあります。2 回目のビルドを開始しないよう、別の redeploy を送信する前に lizard events を確認してください。
更新日