検索

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

download PDF

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

19.1. Buildah ツール

Buildah は、Open Container Initiative (OCI) コンテナーイメージと、そのイメージから作業コンテナーを作成するためのコマンドラインツールです。Buildah を使用すると、さまざまな方法でコンテナーとコンテナーイメージを作成できます。

コンテナーイメージをゼロから作成する
buildah from scrap コマンドを使用すると、最小限のコンテナーイメージをゼロから作成できます。最小限のコンテナーイメージには、不要なファイルや依存関係を含めないようにする、セキュリティーを強化する、パフォーマンスを最適化するなどの利点があります。詳細は、Buildah を使用したゼロからのイメージの作成 を参照してください。
コンテナーイメージからのコンテナー
buildah from <image> コマンドを使用すると、コンテナーイメージから作業コンテナーを作成できます。その後、buildah mount コマンドと buildah copy コマンドを使用して、コンテナーを変更できます。詳細は、Buildah を使用したコンテナーの操作 を参照してください。
既存のコンテナーからのコンテナーイメージ
bulidah commit コマンドを使用すると、新しいコンテナーイメージを作成できます。必要に応じて、buildah push コマンドを使用して、新しく作成したコンテナーイメージをコンテナーレジストリーにプッシュできます。詳細は、Buildah を使用したコンテナーの操作 を参照してください。
Containerfile の指示からのコンテナーイメージ
buildah build または buildah bud コマンドを使用すると、Containerfile 内の指示からコンテナーイメージをビルドできます。詳細は、Buildah を使用した Containerfile からのイメージのビルド を参照してください。

Buildah の使用は、docker コマンドを使用したイメージのビルドと次の点で異なります。

デーモンなし
Buildah にはコンテナーランタイムデーモンは必要ありません。
ベースイメージまたはゼロからのビルド
別のコンテナーをベースにイメージをビルドすることも、空のイメージを使用してゼロからビルドすることもできます。
イメージサイズの縮小
Buildah イメージには、gccmakednf などのビルドツールが含まれていません。そのため、イメージのセキュリティーが強化され、イメージの転送が容易になります。
互換性
Buildah は Containerfile を使用したコンテナーイメージのビルドをサポートしているため、Docker から Buildah に簡単に移行できます。Containerfile 内でも、Dockerfile 内と同じコマンドを使用できます。
対話形式のイメージビルド
コンテナーに対する変更を作成してコミットし、対話形式で段階的にイメージをビルドできます。
シンプルなイメージ作成
Buildah を使用すると、rootfs を作成したり、JSON ファイルを生成したり、OCI 準拠のイメージをビルドしたりできます。
柔軟性
Bash で直接コンテナービルドをスクリプト化できます。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.