4.2. システムロールを使用して物理的にバインドされたイメージを作成する


システムロールを使用すると、まだ起動していない環境を検出し、自身の動作を調整する物理的にバインドされたイメージを作成できます。たとえば、イメージは systemd ユニットを起動したり、ネットワークサービスと通信したりしようとしてはならず、それらすべてを最初の起動時に行うようにする必要があります。

前提条件

手順

  1. たとえば ./setup.yml という 名前で、以下の内容の Playbook ファイルを作成します。

    ---
    - name: Configure physically bound images with RHEL system roles
      hosts: all
      vars:
        podman_registries_conf:
          unqualified-search-registries:
            - "registry.access.redhat.com"
            - "docker.io"
            - "my-company-registry.com"
          registry:
            - location: "my-company-registry.com"
            - location: "my-local-registry:5000"
              insecure: true
        podman_quadlet_specs:
          - file_src: my-quadlet.container
            state: started
      tasks:
          - name: Run the podman role
            include_role:
              name: redhat.rhel_system_roles.podman

    Ansible Playbook の Podman システムロールにより、レジストリーと Quadlet アプリケーションを使用してシステムが設定されます。

  2. Playbook の構文を検証します。

    $ ansible-playbook --syntax-check ./setup.yml

    このコマンドは構文のみを検証するものであり、誤っているが有効な設定に対する保護機能はありません。

  3. コンテナーアプリケーションを設定するための quadlet.container ファイルを作成します。例:

    [Install]
    WantedBy=default.target
    
    [Container]
    Image=quay.io/my_org/my_image:20260326
    ContainerName=my-quadlet
  4. 以下の内容で Containerfile ファイルを作成してください。

    FROM quay.io/centos-bootc/centos-bootc:stream10
    RUN dnf -y install ansible-core rhel-system-roles
    COPY ./setup.yml .
    COPY ./quadlet.container .
    RUN ansible-playbook -c local setup.yml

    イメージビルド内ですべてのアクションを実行し、Playbook を localhost に対して実行します。マルチステージビルドを使用することで、Ansible とロールを最終イメージから除外できます。このプロセスは完全に自己完結型であるため、自動コンテナービルドパイプラインでうまく機能します。

    注記

    イメージに依存するコンテナーやサービス (例:Quadlet) を起動する前に、イメージをコピーしておく必要があります。

  5. bootc イメージをビルドします。たとえば、以下の手順でビルドします。

    $ podman build -t quay.io/<namespace>/<image>:<tag> .
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る