20.3. buildah mount を使用したコンテナーの変更
buildah mount
コマンドを使用して、コンテナーまたはイメージに関する情報を表示します。
前提条件
-
container-tools
メタパッケージがインストールされている。 - Containerfile の指示を使用してビルドされたイメージ。詳細は、Buildah を使用した Containerfile からのイメージのビルドを参照してください。
手順
registry.access.redhat.com/ubi8/ubi
イメージをもとに作業コンテナーを作成し、コンテナーの名前をmycontainer
変数に保存します。# mycontainer=$(buildah from localhost/myecho) # echo $mycontainer myecho-working-container
myecho-working-container
コンテナーをマウントし、マウントポイントパスをmymount
変数に保存します。# mymount=$(buildah mount $mycontainer) # echo $mymount /var/lib/containers/storage/overlay/c1709df40031dda7c49e93575d9c8eebcaa5d8129033a58e5b6a95019684cc25/merged
myecho
スクリプトを変更し、実行可能にします。# echo 'echo "We modified this container."' >> $mymount/usr/local/bin/myecho # chmod +x $mymount/usr/local/bin/myecho
myecho-working-container
コンテナーからmyecho2
イメージを作成します。# buildah commit $mycontainer containers-storage:myecho2
検証
ローカルストレージ内のイメージをリスト表示します。
# buildah images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/library/myecho2 latest 4547d2c3e436 4 minutes ago 234 MB localhost/myecho latest b28cd00741b3 56 minutes ago 234 MB
docker.io/library/myecho2
イメージに基づいてmyecho2
コンテナーを実行します。# podman run --name=myecho2 docker.io/library/myecho2 This container works! We even modified it.
関連情報
-
buildah-mount
の man ページ -
buildah-commit
の man ページ