Skip to content
Latchkey

init containerとは?

init containerは、pod内のメインのアプリケーションコンテナが起動する前に実行され終了するコンテナです。データベースマイグレーションの実行、設定の取得、依存関係が到達可能になるまでのブロックなど、一度限りのセットアップを行います。各init containerは、次のもの、そしてアプリが始まる前に、成功して完了しなければなりません。

なぜ重要か

セットアップのロジックをinit containerに置くと、アプリケーションイメージがクリーンに保たれ、アプリが起動する前に前提条件が満たされることが保証され、アプリがデータベースの準備が整う前に起動する競合状態を回避できます。サイドカーとは異なり、アプリと並んで実行されるのではなく、最初に実行されて終了します。

関連する概念

  • メインコンテナの前に完了まで実行される
  • 並行して実行されるサイドカーとは異なる
  • マイグレーションや依存関係の準備待ちによく使われる

関連ガイド