クラウドとコンテナの基礎
CI/CDのパイプラインで作ったコンテナイメージを、ステージング環境で試験し、合格した。このイメージを本番環境に出す方法として、最も適切なものはどれか。
- A本番用に、同じソースコードからイメージをもう一度ビルドし、それを本番環境に出す
- B試験したイメージに latest のタグを付け直し、本番環境では latest を指定して取得する
- C試験したイメージそのものをダイジェストで指定して本番環境に出し、環境ごとの違いは設定で与える
答えと解説を見る
正解:C. 試験したイメージそのものをダイジェストで指定して本番環境に出し、環境ごとの違いは設定で与える
パイプラインでは、ビルドで作った成果物(ここではイメージ)を変更しないものとして扱い、同じものをステージングから本番へと順に進めます。同じソースコードでも、ビルドし直すと、依存するライブラリやベースイメージの版が変わることがあり、試験したものと違うものが本番に出てしまいます。タグは後から別のイメージに付け替えられるので、確実に同じイメージを指すには、中身から決まるダイジェストを使います。接続先のような環境ごとの違いは、イメージに入れずに、環境変数などの設定で与えます。
- A. ビルドし直すと、依存するライブラリなどが変わり、試験したものと違うイメージになるおそれがあります。
- B. latest は付け替えられるタグなので、取得するときに別のイメージを指している可能性があります。
- C. 正しい。試験したものと同じイメージが本番に出ることを、ダイジェストで保証します。