19.5. 使用 Buildah 从 Containerfile 构建镜像


使用 buildah bud 命令按照说明从 Containerfile 构建镜像。

注意

如果在上下文目录中找到, buildah bud 命令会使用 Containerfile ,如果未找到,buildah bud 命令会使用 Dockerfile ;否则,可以使用 --file 来指定任何文件。可以在 ContainerfileDockerfile 中使用的命令一样。

先决条件

  • container-tools 元数据包已安装。

流程

  1. 创建 Containerfile

    # cat Containerfile
    FROM registry.access.redhat.com/ubi9/ubi
    ADD myecho /usr/local/bin
    ENTRYPOINT "/usr/local/bin/myecho"
    Copy to Clipboard Toggle word wrap
  2. 创建 myecho 脚本:

    # cat myecho
    echo "This container works!"
    Copy to Clipboard Toggle word wrap
  3. 更改 myecho 脚本的访问权限:

    # chmod 755 myecho
    Copy to Clipboard Toggle word wrap
  4. 使用当前目录中的 Containerfile 构建 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 Toggle word wrap

验证

  1. 列出所有镜像:

    # buildah images
    REPOSITORY                                  TAG      IMAGE ID       CREATED              SIZE
    localhost/myecho                            latest   b28cd00741b3   About a minute ago   234 MB
    Copy to Clipboard Toggle word wrap
  2. 运行基于 localhost/myecho 镜像的 myecho 容器:

    # podman run --name=myecho localhost/myecho
    This container works!
    Copy to Clipboard Toggle word wrap
  3. 列出所有容器:

    # podman ps -a
    0d97517428d  localhost/myecho                                     12 seconds ago  Exited (0) 13 seconds ago          myecho
    Copy to Clipboard Toggle word wrap
注意

您可以使用 podman history 命令显示镜像中所使用的每个层的信息。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat