Menu Close
Settings Close

Language and Page Formatting Options

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

Buildah は、OCI Runtime Specification を満たす OCI コンテナーイメージの構築を容易にします。Buildah を使用すると、作業コンテナーをゼロから作成することも、イメージを開始点として使用して作成することも可能です。作業コンテナーからか、Containerfile の指示を使用して、イメージを作成できます。作業コンテナーの root ファイルシステムをマウントおよびアンマウントできます。

13.1. Buildah ツール

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

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

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

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

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