19.5. Buildah を使用した Containerfile からのイメージのビルド
buildah bud コマンドを使用して、Containerfile からのステップを使用してイメージをビルドします。
buildah bud コマンドは、コンテキストディレクトリーにある場合に、Containerfile を使用します。コンテキストディレクトリーにない場合、buildah bud コマンドは Dockerfile を使用します。それ以外の場合は、--file オプションでファイルを指定できます。Containerfile および Dockerfile 内で使用できる利用可能なコマンドは同じです。
前提条件
-
container-toolsモジュールがインストールされている。
手順
Containerfileを作成します。# cat Containerfile FROM registry.access.redhat.com/ubi8/ubi ADD myecho /usr/local/bin ENTRYPOINT "/usr/local/bin/myecho"myechoスクリプトを作成します。# cat myecho echo "This container works!"myechoスクリプトのアクセスパーミッションを変更します。# chmod 755 myecho現在のディレクトリーの
Containerfileを使用してmyechoイメージをビルドします。# buildah bud -t myecho . STEP 1: FROM registry.access.redhat.com/ubi8/ubi STEP 2: ADD myecho /usr/local/bin STEP 3: ENTRYPOINT "/usr/local/bin/myecho" STEP 4: COMMIT myecho ... Storing signatures
検証
すべてのイメージをリスト表示します。
# buildah images REPOSITORY TAG IMAGE ID CREATED SIZE localhost/myecho latest b28cd00741b3 About a minute ago 234 MBlocalhost/myechoイメージに基づいてmyechoコンテナーを実行します。# podman run --name=myecho localhost/myecho This container works!すべてのコンテナーをリスト表示します。
# podman ps -a 0d97517428d localhost/myecho 12 seconds ago Exited (0) 13 seconds ago myecho
podman history コマンドを使用して、イメージで使用された各レイヤーに関する情報を表示できます。