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
# mycontainer=$(buildah from localhost/myecho) # echo $mycontainer myecho-working-container
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 挂载
myecho-working-container
容器,并将挂载点路径保存到mymount
变量中:mymount=$(buildah mount $mycontainer) echo $mymount
# mymount=$(buildah mount $mycontainer) # echo $mymount /var/lib/containers/storage/overlay/c1709df40031dda7c49e93575d9c8eebcaa5d8129033a58e5b6a95019684cc25/merged
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 修改
myecho
脚本并使其可执行:echo 'echo "We modified this container."' >> $mymount/usr/local/bin/myecho chmod +x $mymount/usr/local/bin/myecho
# echo 'echo "We modified this container."' >> $mymount/usr/local/bin/myecho # chmod +x $mymount/usr/local/bin/myecho
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从
myecho-working-container
容器创建myecho2
镜像:buildah commit $mycontainer containers-storage:myecho2
# buildah commit $mycontainer containers-storage:myecho2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
列出本地存储中的所有镜像:
buildah images
# 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行基于
docker.io/library/myecho2
镜像的myecho2
容器:podman run --name=myecho2 docker.io/library/myecho2
# podman run --name=myecho2 docker.io/library/myecho2 This container works! We even modified it.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow