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
命令显示镜像中所使用的每个层的信息。
其他资源
-
您系统上的
buildah-bud
手册页