19.10. Podman コンテナー内でのコンテナーのビルド


隔離された開発環境を作成したり、CI/CD パイプラインでイメージビルドを自動化したりするには、既存の Podman コンテナー内からコンテナーイメージをビルドできます。ホストシステムの設定を変更することなく、イメージのテストや開発を行うこともできます。

前提条件

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

手順

  1. registry.redhat.io レジストリーにログインしている。

    # podman login registry.redhat.io
  2. registry.redhat.io/rhel10/podman イメージをベースにしたコンテナーを実行します。

    # podman run --privileged --name podman_container -it \
      registry.redhat.io/rhel10/podman /bin/bash

    registry.redhat.io/rhel10/podman イメージに基づいて、podman_container という名前の外部コンテナーを実行します。--it オプションは、コンテナー内で対話式 bash シェルを実行します。--privileged オプションは、コンテナーをホストから分離するセキュリティー機能を無効にします。

  3. podman_container コンテナー内に Containerfile を作成します。

    # vi Containerfile
    FROM registry.access.redhat.com/ubi10/ubi
    RUN dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
    RUN dnf -y install moon-buggy && dnf clean all
    CMD ["/usr/bin/moon-buggy"]

    Containerfile のコマンドで以下の build コマンドが実行されます。

    • registry.access.redhat.com/ubi10/ubi イメージからコンテナーをビルドします。
    • epel-release-latest-8.noarch.rpm パッケージをインストールします。
    • moon-buggy パッケージをインストールします。
    • コンテナーコマンドを設定します。
  4. Containerfile を使用して moon-buggy という名前の新しいコンテナーイメージをビルドします。

    # podman build -t moon-buggy .
  5. 必要に応じて、すべてのイメージをリスト表示します。

    # podman images
    REPOSITORY                  TAG      IMAGE ID      CREATED        SIZE
    localhost/moon-buggy  latest  c97c58abb564  13 seconds ago  1.67 GB
    registry.access.redhat.com/ubi10/ubi latest 4199acc83c6a  132seconds ago 213 MB
  6. ムーンバギー コンテナーをベースにした新しいコンテナーを実行します。

    # podman run -it --name moon moon-buggy
  7. 必要に応じて、moon-buggy イメージをタグ付けします。

    # podman tag moon-buggy registry.example.com/moon-buggy
  8. 必要に応じて、moon-buggy イメージをレジストリーにプッシュします。

    # podman push registry.example.com/moon-buggy

    この例は、Podman がこのコンテナー内から別のコンテナーを構築して実行する方法を示しています。このコンテナーは、シンプルなテキストベースのゲームである ムーンバギー を実行します。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る