Difficulty: beginner
Estimated Time: 5-10 minutes

このシナリオでコンテナイメージをスクラッチまたはベースイメージから buildah などのツールを使って作成できるようになります。

このシナリオで扱うコンセプトは:

  • イメージ作成用の作業用コンテナを初期化する
  • buildahコマンドを使って作業用コンテナの内容を変更する
  • 標準的なシステムツールで作業用コンテナの内容を変更する
  • 作業用コンテナからアプリケーションイメージを作成する

利用例

ベースイメージからコンテナイメージを作成する典型的な方法はpodmanにOCIFileまたはDockerfileを入力として渡すことですが、 buildah による手法でレイヤ作成やイメージの内容をより細かく制御できます。

NOTE: 出力例のUUIDはラボでの出力と完全に一致しない場合があります

Author: Matthew Micene, Technical Content Manager (Red Hat)
Translated by: Kazuo Moriawaka, Solution Architect (Red Hat)

Creating images with the container tools [JP]

Step 1 of 6

Step 1

既存のベースイメージからアプリケーションイメージを作成する

buildah でイメージを作成するには2つの方法があります:

  • サブコマンドを利用して内容を変更する
  • ホストツールを利用してコンテナのファイルシステムを変更する

まず、サブコマンドを使ってコンテナの中身を(保存せず)変更していく方法を見ましょう。多くの buildah サブコマンドは OCIFileの命令と同様に動作します。このため自動化する時にも簡単です。

Red Hat Enterprise Linux のパッケージを利用したコンテナを作る開始点として、Red Hat Universal Base Image 8 が提供されています。UBIについて詳しくは紹介blog記事を参照ください。

アプリケーションイメージを ubi-init ベースイメージから作るため、buildahで作業用コンテナをを作ります。作業用コンテナはbuildahコマンドの対象となる一時的なコンテナです。

buildah from registry.access.redhat.com/ubi8/ubi-init

ubi-init-working-container

このサブコマンドは OCIFile の FROM命令と同じように動作し、ソースイメージをホストで利用できるようにします。

buildahは作業用コンテナの名前として、イメージの名前のあとに -working-container をついけたものを利用します。もし同じ名前のコンテナが既にあれば、名前に数字を追加します。