在现代容器化开发中,Buildah 是一个强大且灵活的开源工具,它允许开发者在不依赖 Docker 守护进程的情况下构建 OCI(Open Container Initiative)兼容的容器镜像。本教程将手把手教你如何在 Debian 系统上安装并使用 Buildah 构建自己的容器镜像,即使你是完全的新手也能轻松上手。

Buildah 是由 Red Hat 主导开发的容器镜像构建工具,属于 Podman 生态的一部分。与 Docker 不同,Buildah 不需要运行后台守护进程(daemon),也不强制要求 root 权限(支持 rootless 模式),因此更加安全、轻量。
使用 Buildah,你可以:
Debian 是一个稳定、广泛使用的 Linux 发行版,许多服务器和开发环境都基于它。通过在 Debian 上使用 Debian Buildah构建镜像,你可以摆脱对 Docker 的依赖,实现更安全、更高效的 CI/CD 流程。这也是当前 DevOps 领域推崇的“无Docker构建镜像”实践之一。
首先,确保你的系统是最新的:
sudo apt updatesudo apt upgrade -y接着,安装必要的依赖包:
sudo apt install -y software-properties-common uidmapBuildah 在 Debian 官方仓库中可能不是最新版,建议添加官方仓库以获取最新功能:
# 添加仓库密钥sudo mkdir -p /etc/apt/keyringscurl -fsSL https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Debian_12/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/libcontainers-archive-keyring.gpg# 添加仓库源(以 Debian 12 为例)echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/libcontainers-archive-keyring.gpg] https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Debian_12/ /" | sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list# 更新并安装 Buildahsudo apt updatesudo apt install -y buildah安装完成后,验证版本:
buildah version为了安全起见,建议以普通用户身份运行 Buildah(rootless 模式)。执行以下命令为当前用户分配子 UID/GID:
echo "$USER:100000:65536" | sudo tee -a /etc/subuidecho "$USER:100000:65536" | sudo tee -a /etc/subgid重启系统或重新登录以使配置生效。
我们来创建一个简单的 Nginx 镜像。首先,新建一个工作目录:
mkdir ~/my-nginx-build && cd ~/my-nginx-build创建一个简单的 Dockerfile:
FROM debian:bookworm-slimRUN apt update && \ apt install -y nginx && \ apt clean && \ rm -rf /var/lib/apt/lists/*EXPOSE 80CMD ["nginx", "-g", "daemon off;"]现在使用 Buildah 构建镜像:
buildah bud -t my-nginx:latest .命令解释:
bud 是 “build using dockerfile” 的缩写-t my-nginx:latest 指定镜像名称和标签. 表示当前目录为构建上下文构建完成后,查看本地镜像:
buildah images虽然 Buildah 本身不负责运行容器(那是 Podman 的工作),但你可以配合 Podman 使用。如果尚未安装 Podman,可运行:
sudo apt install -y podman然后运行容器:
podman run -d -p 8080:80 my-nginx:latest打开浏览器访问 http://localhost:8080,你应该能看到 Nginx 的欢迎页面!
通过本教程,你已经掌握了在 Debian 系统上使用 Buildah 构建容器镜像的基本流程。无论你是想学习 容器镜像构建工具 的替代方案,还是希望在 CI/CD 中实现更安全的构建流程,Buildah 都是一个值得尝试的选择。
记住,Buildah 的核心优势在于:无需 Docker 守护进程、支持 rootless 模式、完全兼容 OCI 标准。结合 Podman,你可以构建一个完整的无 Docker 容器生态。
现在,你已经具备了使用 Debian Buildah构建镜像 的能力,快去尝试构建你自己的应用镜像吧!
本文由主机测评网于2025-12-07发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025124121.html