搜索

20.3. 使用 buildah mount 修改容器

download PDF

使用 buildah mount 命令显示容器或镜像的信息。

先决条件

流程

  1. 创建一个基于 registry.access.redhat.com/ubi8/ubi 镜像的可工作容器,并将容器名称保存到 mycontainer 变量中:

    # mycontainer=$(buildah from localhost/myecho)
    
    # echo $mycontainer
    myecho-working-container
  2. 挂载 myecho-working-container 容器,并将挂载点路径保存到 mymount 变量中:

    # mymount=$(buildah mount $mycontainer)
    
    # echo $mymount
    /var/lib/containers/storage/overlay/c1709df40031dda7c49e93575d9c8eebcaa5d8129033a58e5b6a95019684cc25/merged
  3. 修改 myecho 脚本并使其可执行:

    # echo 'echo "We modified this container."' >> $mymount/usr/local/bin/myecho
    # chmod +x $mymount/usr/local/bin/myecho
  4. myecho-working-container 容器创建 myecho2 镜像:

    # buildah commit $mycontainer containers-storage:myecho2

验证

  1. 列出本地存储中的所有镜像:

    # 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
  2. 运行基于 docker.io/library/myecho2 镜像的 myecho2 容器:

    # podman run --name=myecho2 docker.io/library/myecho2
    This container works!
    We even modified it.

其他资源

  • buildah-mount 手册页
  • buildah-commit 手册页
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.