在现代容器化开发中,很多人习惯使用 Docker 来构建镜像。但你是否知道,其实还有更轻量、更安全的替代方案?今天我们就来学习如何在 CentOS 系统上使用 Buildah 构建容器镜像——无需运行 Docker 守护进程,也能高效完成镜像构建任务!

Buildah 是由 Red Hat 主导开发的一款开源工具,专为构建 OCI(Open Container Initiative)标准镜像而设计。它不依赖 Docker 守护进程,可以直接在宿主机上操作,更加轻量、安全,特别适合 CI/CD 流水线和无 root 权限环境。
本文将手把手教你如何在 CentOS 7 或 CentOS 8 上安装并使用 Buildah 构建你的第一个容器镜像。无论你是运维新手还是开发小白,都能轻松上手!
首先,确保你的 CentOS 系统已更新:
sudo yum update -y接着,启用必要的仓库(以 CentOS 8 为例):
sudo dnf install -y yum-utilssudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo但实际上,Buildah 属于 container-tools 模块,在 CentOS 8 中可直接通过以下方式安装:
# CentOS 8sudo dnf module enable -y container-toolssudo dnf install -y buildah# CentOS 7(需先安装 EPEL 和 containers-common)sudo yum install -y epel-releasesudo yum install -y containers-commonsudo yum install -y buildah安装完成后,验证版本:
buildah version我们将从一个基础镜像(如 alpine)开始,添加一个简单的 HTML 文件,最终构建出一个静态网页服务镜像。
mkdir ~/my-web-appcd ~/my-web-appecho "<h2>Hello from Buildah!</h2>" > index.html使用 buildah from 命令基于 alpine 镜像创建一个新容器:
ctr=$(buildah from alpine)这会返回一个容器 ID,我们将其存入变量 ctr 以便后续使用。
# 更新包并安装 nginxbuildah run $ctr -- apk updatebuildah run $ctr -- apk add nginx# 创建 Web 目录并复制文件buildah run $ctr -- mkdir -p /usr/share/nginx/htmlbuildah copy $ctr index.html /usr/share/nginx/html/# 设置启动命令buildah config --cmd "nginx -g 'daemon off;'" $ctrbuildah config --port 80 $ctr现在将容器提交为一个新的镜像,命名为 my-web-app:v1:
buildah commit $ctr my-web-app:v1buildah images你应该能看到类似如下的输出:
REPOSITORY TAG IMAGE ID CREATED SIZElocalhost/my-web-app v1 a1b2c3d4e5f6 2 minutes ago 12 MB虽然 Buildah 本身不负责运行容器,但你可以配合 Podman(与 Buildah 同源)来运行:
# 安装 Podman(如果尚未安装)sudo dnf install -y podman# 运行容器podman run -d -p 8080:80 my-web-app:v1然后在浏览器中访问 http://你的服务器IP:8080,就能看到 “Hello from Buildah!” 页面了!
通过本教程,你已经掌握了在 CentOS 上使用 Buildah 构建容器镜像的基本流程。无论是用于学习、开发还是生产环境,Buildah教程 所展示的方法都为你提供了一种更现代、更安全的镜像构建方式。
记住,Centos Buildah构建镜像 不仅是技术趋势,更是 DevOps 最佳实践的一部分。快去试试吧!
如果你喜欢这种轻量级容器工具,不妨也了解一下 Podman、Skopeo 等配套工具,它们共同构成了 Red Hat 的下一代容器生态。
本文由主机测评网于2025-12-15发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025127964.html