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