5.4. コンテナーのビルド


Buildah は、Red Hat Enterprise Linux でコンテナーを構築するための主要なツールであり、Podman と併用して構築したコンテナーを管理および実行できます。

前提条件

  1. container-tools メタパッケージがインストールされている。

手順

  1. コンテナーツールのインストール: RHEL システムに必要なコンテナーツールがインストールされていることを確認します。container-tools モジュールは、Buildah、Podman、Skopeo を提供します。

    $ sudo dnf install container-tools
    Copy to Clipboard Toggle word wrap
  2. Containerfile を作成する: Containerfile は、コンテナーイメージをビルドするための手順を定義します。このファイルは、ベースイメージ、インストールするソフトウェア、適用する設定、実行するアプリケーションを指定します。以下に例を示します。

    FROM registry.redhat.io/ubi10/ubi-minimal
    RUN microdnf -y update && microdnf -y install
    COPY index.html /var/www/html/
    EXPOSE 80
    CMD ["httpd", "-DFOREGROUND"]
    Copy to Clipboard Toggle word wrap
  3. Buildah を使用してコンテナーイメージをビルドします。コンテナーファイルを含むディレクトリーに移動した後、buildah bud (または podman build) を使用してイメージをビルドします。

    $ cd /<path_to_container_file>
    
    $ buildah bud -t your_image_name:tag .
    Copy to Clipboard Toggle word wrap
    • your_image_name: イメージの名前。
    • tag: イメージのタグ (例: latest、1.0)。
    • .: Containerfile がカレントディレクトリーにあることを示します。
  4. コンテナーを実行する: イメージをビルドした後、podman run コマンドを使用してそこからコンテナーを実行できます。

    $ podman run -d -p 8080:80 my-web-app
    Copy to Clipboard Toggle word wrap
    • -d: コンテナーをデタッチモード (バックグラウンド) で実行します。
    • -p 8080:80: ホスト上のポート 8080 をコンテナー内のポート 80 にマッピングします。
    • my-web- アプリケーション: 実行するイメージの名前。

      コンテナー構築におけるヒアドキュメント構文

      Red Hat Enterprise Linux ベースイメージでは、Containerfile で heredoc 構文を使用して、BuildKit を 確実に有効にすることができます。コマンドに ヒア ドキュメント構文が含まれている場合、Containerfile は、行にヒアドキュメント区切り文字のみが含まれるまで、次の行を同じコマンドの一部と見なします。heredocs を使用すると、Containerfile 内の RUNCOPY などの命令内に複数行の文字列を直接埋め込むことができます。これは、単純なタスク用に個別のスクリプトファイルを作成する必要がなくなり、読みやすさと保守性が向上するため、RHEL ベースのイメージで特に役立ちます。

      たとえば、一般的な使用例では、&& \ 構文を回避して、単一の RUN 命令で複数のシェルコマンドを実行して単一のイメージレイヤーを作成します。

# syntax=container/containerfile:1.4
FROM registry.redhat.io/ubi10/ubi-minimal
# Use a heredoc to perform a multi-line RUN command:
RUN <<EOF
microdnf -y update
microdnf -y install nginx
microdnf clean all
echo "Nginx installed and packages updated"
EOF
Copy to Clipboard Toggle word wrap
  • RUN <<EOF: << はヒアドキュメントの開始を示すもので、EOF はユーザー定義の区切り文字です。
  • <<EOF と最後の EOF の間の行は、シェルによって実行される単一のスクリプトとして扱われます。
  • ブロック全体が単一の RUN 命令であるため、より効率的で読みやすくなります。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat