19.5. 使用 Buildah 从 Containerfile 构建镜像
使用 buildah bud 命令按照说明从 Containerfile 构建镜像。
注意
如果在上下文目录中找到, buildah bud 命令会使用 Containerfile ,如果未找到,buildah bud 命令会使用 Dockerfile ;否则,可以使用 --file 来指定任何文件。可以在 Containerfile 和 Dockerfile 中使用的命令一样。
先决条件
-
container-tools元数据包已安装。
流程
创建
Containerfile:# cat Containerfile FROM registry.access.redhat.com/ubi9/ubi ADD myecho /usr/local/bin ENTRYPOINT "/usr/local/bin/myecho"创建
myecho脚本:# cat myecho echo "This container works!"更改
myecho脚本的访问权限:# chmod 755 myecho使用当前目录中的
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
验证
列出所有镜像:
# buildah images REPOSITORY TAG IMAGE ID CREATED SIZE localhost/myecho latest b28cd00741b3 About a minute ago 234 MB运行基于
localhost/myecho镜像的myecho容器:# podman run --name=myecho localhost/myecho This container works!列出所有容器:
# podman ps -a 0d97517428d localhost/myecho 12 seconds ago Exited (0) 13 seconds ago myecho
注意
您可以使用 podman history 命令显示镜像中所使用的每个层的信息。