Red Hat Training

A Red Hat training course is available for RHEL 8

第19章 Buildah でコンテナーイメージの構築

Buildah は、OCI Runtime Specification を満たす OCI コンテナーイメージの構築を容易にします。Buildah を使用すると、作業コンテナーをゼロから作成することも、イメージを開始点として使用して作成することも可能です。イメージは、Containerfile 内の指示を使用して作業コンテナーから作成するか、Containerfile 内のコマンドをエミュレートする一連の Buildah コマンドを使用して作成できます。

19.1. Buildah ツール

Buildah を使用することは、以下の点で、docker コマンドでイメージを作成するのと異なります。

デーモンなし
Buildah にはコンテナーランタイムは必要ありません。
ベースイメージまたは scratch
別のコンテナーに基づいてイメージをビルドしたり、空のイメージで始めることができます。
ビルドツールが外部のもの

Buildah では、イメージ自体にはビルドツールが含まれません。その結果、Buildah は以下のようになります。

  • ビルドイメージのサイズを縮小します。
  • 作成されたイメージからソフトウェア (gcc、make、yum など) を除外して、イメージのセキュリティーを強化します。
  • イメージサイズの縮小により、少ないリソースを使用してイメージを転送できます。
互換性
Buildah は、Dockerfile を使用したコンテナーイメージの構築をサポートしており、Docker から Buildah への移行を容易にします。
注記

Buildah がコンテナーストレージにデフォルトで使用する場所は、CRI-O コンテナーエンジンがイメージのローカルコピーを保存するために使用する場所と同じです。そのため、CRI-O または Buildah で、もしくは buildah コマンドでレジストリーから取得したイメージは、同じディレクトリー構造に保存されます。ただし、CRI-O および Buildah が現在イメージを共有できても、コンテナーを共有することはできません。