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"
# cat Containerfile FROM registry.access.redhat.com/ubi9/ubi ADD myecho /usr/local/bin ENTRYPOINT "/usr/local/bin/myecho"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
myecho脚本:cat myecho echo "This container works!"
# cat myecho echo "This container works!"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更改
myecho脚本的访问权限:chmod 755 myecho
# chmod 755 myechoCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用当前目录中的
Containerfile构建myecho镜像:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
列出所有镜像:
buildah images
# buildah images REPOSITORY TAG IMAGE ID CREATED SIZE localhost/myecho latest b28cd00741b3 About a minute ago 234 MBCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行基于
localhost/myecho镜像的myecho容器:podman run --name=myecho localhost/myecho
# podman run --name=myecho localhost/myecho This container works!Copy to Clipboard Copied! Toggle word wrap Toggle overflow 列出所有容器:
podman ps -a
# podman ps -a 0d97517428d localhost/myecho 12 seconds ago Exited (0) 13 seconds ago myechoCopy to Clipboard Copied! Toggle word wrap Toggle overflow
注意
您可以使用 podman history 命令显示镜像中所使用的每个层的信息。