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
手册页 -
buildah-commit
手册页