19.4. Buildah を使用した Containerfile からのイメージのビルド

buildah bud コマンドを使用して、Containerfile からのステップを使用してイメージをビルドします。

注記

buildah bud コマンドは、コンテキストディレクトリーにある場合に、Containerfile を使用します。コンテキストディレクトリーにない場合、buildah bud コマンドは Dockerfile を使用します。それ以外の場合は、--file オプションでファイルを指定できます。Containerfile および Dockerfile 内で使用できる利用可能なコマンドは同じです。

前提条件

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

手順

  1. Containerfile を作成します。

    # cat Containerfile
    FROM registry.access.redhat.com/ubi9/ubi
    ADD myecho /usr/local/bin
    ENTRYPOINT "/usr/local/bin/myecho"
  2. myecho スクリプトを作成します。

    # cat myecho
    echo "This container works!"
  3. myecho スクリプトのアクセスパーミッションを変更します。

    # chmod 755 myecho
  4. 現在のディレクトリーの Containerfile を使用して myecho イメージをビルドします。

    # buildah bud -t myecho .
    STEP 1: FROM registry.access.redhat.com/ubi9/ubi
    STEP 2: ADD myecho /usr/local/bin
    STEP 3: ENTRYPOINT "/usr/local/bin/myecho"
    STEP 4: COMMIT myecho
    ...
    Storing signatures

検証

  1. すべてのイメージをリスト表示します。

    # buildah images
    REPOSITORY                                  TAG      IMAGE ID       CREATED              SIZE
    localhost/myecho                            latest   b28cd00741b3   About a minute ago   234 MB
  2. localhost/myecho イメージに基づいて myecho コンテナーを実行します。

    # podman run --name=myecho localhost/myecho
    This container works!
  3. すべてのコンテナーをリスト表示します。

    # podman ps -a
    0d97517428d  localhost/myecho                                     12 seconds ago  Exited (0) 13 seconds ago          myecho
注記

podman history コマンドを使用して、イメージで使用された各レイヤーに関する情報を表示できます。

関連情報

  • buildah-bud の man ページ