2.2. bootc イメージの取得または構築


既存の bootc イメージを取得するか、新しいイメージを作成して、そのイメージをリモートレジストリーに公開して使用できます。

2.2.1. MicroShift の公開された bootc イメージの取得

MicroShift コンテナーイメージを使用して、Image Mode for RHEL をインストールできます。

前提条件

  • x86_64 または AArch64 プラットフォームがある。
  • registry.redhat.io レジストリーにアクセスできる。

手順

  1. Red Hat Ecosystem Catalog に移動します。
  2. microshift-bootc キーワードを使用して、MicroShift コンテナーイメージを検索します。
  3. MicroShift コンテナーイメージのコンテナーイメージページを開きます。
  4. イメージの詳細は、Overview タブと Technical Information タブを参照してください。
  5. Get this image タブを選択して、イメージのダウンロード手順を表示します。
  6. 次のコマンドを使用してレジストリーにログインして、x86_64 および AArch64 プラットフォームの最新イメージにアクセスします。

    $ sudo podman login registry.redhat.io
  7. 次のコマンドを実行して、bootc イメージをダウンロードします。

    $ podman pull registry.redhat.io/openshift4/microshift-bootc-rhel9:v4.19

2.2.2. bootc イメージのビルド

Containerfile を使用して、MicroShift を含む Red Hat Enterprise Linux (RHEL) を起動可能なコンテナーイメージとして構築します。

前提条件

  • MicroShift bootc イメージを構築し、コンテナーを実行するための、アクティブな Red Hat サブスクリプションを備えた RHEL 9.6 ホストがある。
  • sudo パーミッションを持つユーザー認証情報を使用して RHEL 9.6 ホストにログインしている。
  • rhocp および fast-datapath リポジトリーは、ホストサブスクリプションでアクセスできる。リポジトリーは必ずしもホスト上で有効にする必要はありません。
  • bootc イメージを保存およびアクセスするための Red Hat Quay などのリモートレジストリーがある。
  • dnf install -y container-tools コマンドを使用して、ホストに container-tools メタパッケージをインストールしている。メタパッケージには、追加のサポートとトラブルシューティングのための Podman、Buildah、Skopeo などのすべてのコンテナーツールが含まれています。これらのツールは、イメージを構築およびインストールする際に Red Hat Support チームから支援を受ける場合に必要です。

手順

  1. 以下の命令を含む Containerfile を作成します。

    RHEL Image Mode の Containerfile の例

    FROM registry.redhat.io/rhel9/rhel-bootc:9.6
    
    ARG USHIFT_VER=4.19
    RUN dnf config-manager \
            --set-enabled rhocp-${USHIFT_VER}-for-rhel-9-$(uname -m)-rpms \
            --set-enabled fast-datapath-for-rhel-9-$(uname -m)-rpms
    RUN dnf install -y firewalld microshift && \
        systemctl enable microshift && \
        dnf clean all
    
    # Create a default 'redhat' user with the specified password.
    # Add it to the 'wheel' group to allow for running sudo commands.
    ARG USER_PASSWD
    RUN if [ -z "${USER_PASSWD}" ] ; then \
            echo USER_PASSWD is a mandatory build argument && exit 1 ; \
        fi
    RUN useradd -m -d /var/home/redhat -G wheel redhat && \
        echo "redhat:${USER_PASSWD}" | chpasswd
    
    # Mandatory firewall configuration
    RUN firewall-offline-cmd --zone=public --add-port=22/tcp && \
        firewall-offline-cmd --zone=trusted --add-source=10.42.0.0/16 && \
        firewall-offline-cmd --zone=trusted --add-source=169.254.169.1
    
    # Create a systemd unit to recursively make the root filesystem subtree
    # shared as required by OVN images
    RUN cat > /etc/systemd/system/microshift-make-rshared.service <<'EOF'
    [Unit]
    Description=Make root filesystem shared
    Before=microshift.service
    ConditionVirtualization=container
    [Service]
    Type=oneshot
    ExecStart=/usr/bin/mount --make-rshared /
    [Install]
    WantedBy=multi-user.target
    EOF
    RUN systemctl enable microshift-make-rshared.service

Podman は、コンテナーイメージをビルドするときに、コンテナー内のホストのサブスクリプション情報とリポジトリーを使用します。rhocp および fast-datapath リポジトリーがホスト上で利用できないと、ビルドは失敗します。

  1. PULL_SECRET 環境変数を設定します。

    $ PULL_SECRET=~/.pull-secret.json
  2. USER_PASSWD 環境変数を設定します。

    $ USER_PASSWD=<redhat_user_password> 
    1
    1
    <redhat_user_password> は、実際のパスワードに置き換えます。
  3. IMAGE_NAME 環境変数を設定します。

    $ IMAGE_NAME=microshift-4.19-bootc
  4. 次のイメージビルドコマンドを実行して、ローカル bootc イメージを作成します。

    $ sudo podman build --authfile "${PULL_SECRET}" -t "${IMAGE_NAME}" \
        --build-arg USER_PASSWD="${USER_PASSWD}" \
        -f Containerfile
    重要

    イメージビルド中にシークレットが使用される方法

    • registry.redhat.io レジストリーからベース rhel-bootc:9.6 イメージをプルするには、podman --authfile 引数が必要です。
    • ビルド USER_PASSWD 引数は、redhat ユーザーのパスワードを設定するために使用されます。

検証

  1. 次のコマンドを実行して、ローカルの MicroShift ブートイメージが作成されたことを確認します。

    $ sudo podman images "${IMAGE_NAME}"

    出力例

    REPOSITORY                       TAG         IMAGE ID      CREATED        SIZE
    localhost/microshift-4.19-bootc  latest      193425283c00  2 minutes ago  2.31 GB

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る