搜索

19.5. 使用 Buildah 从 Containerfile 构建镜像

download PDF

使用 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"
  2. 创建 myecho 脚本:

    # cat myecho
    echo "This container works!"
  3. 更改 myecho 脚本的访问权限:

    # chmod 755 myecho
  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

验证

  1. 列出所有镜像:

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

    # podman run --name=myecho localhost/myecho
    This container works!
  3. 列出所有容器:

    # podman ps -a
    0d97517428d  localhost/myecho                                     12 seconds ago  Exited (0) 13 seconds ago          myecho
注意

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

其他资源

  • 您系统上的 buildah-bud 手册页
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.