在现代容器化开发中,Ubuntu Buildah构建镜像 已成为一种轻量、安全且无需守护进程的替代方案。与传统依赖 Docker 的方式不同,Buildah 允许你在没有运行 Docker 守护进程的情况下构建符合 OCI(Open Container Initiative)标准的镜像。本教程将手把手教你如何在 Ubuntu 系统上安装并使用 Buildah 构建自己的第一个容器镜像。
Buildah 是由 Red Hat 主导开发的开源工具,专为构建 OCI 镜像而设计。它支持从 Dockerfile 构建镜像,也支持通过命令行交互式地创建和修改容器。最关键的是,Buildah 不需要 root 权限(支持 rootless 模式),也不依赖后台守护进程,因此更加安全、灵活。

以下步骤适用于 Ubuntu 20.04、22.04 及更新版本。
sudo apt updatesudo apt upgrade -ysudo apt install -y software-properties-common uidmapsudo add-apt-repository -y ppa:projectatomic/ppasudo apt updatesudo apt install -y buildah 注意:如果你使用的是较新的 Ubuntu 版本(如 22.04+),也可以直接通过 sudo apt install buildah 安装,因为官方仓库已包含 Buildah。运行以下命令检查版本:
buildah version如果看到类似输出,说明安装成功:
Version: 1.28.0Go Version: go1.19.2Image Spec: 1.0.2-devRuntime Spec: 1.0.2-devCNI Spec: 1.0.0libcni Version: v1.1.2...我们以一个简单的 Python Flask 应用为例。
mkdir my-flask-appcd my-flask-appecho 'from flask import Flaskapp = Flask(__name__)@app.route("/")def hello(): return "Hello from Buildah!"if __name__ == "__main__": app.run(host="0.0.0.0", port=5000)' > app.pyecho 'Flask==2.3.2' > requirements.txtFROM python:3.11-slimWORKDIR /appCOPY requirements.txt .RUN pip install --no-cache-dir -r requirements.txtCOPY app.py .EXPOSE 5000CMD ["python", "app.py"]buildah bud -t my-flask-app:latest .命令解释:bud 是 “build using dockerfile” 的缩写,-t 指定镜像名称和标签。
构建完成后,你可以列出本地镜像:
buildah images如果需要将镜像保存为 tar 文件(例如用于离线部署),可以执行:
buildah push my-flask-app:latest oci:my-flask-app.tar或者导出为 Docker 兼容格式:
buildah push my-flask-app:latest docker-archive:my-flask-app.tarHTTP_PROXY。--layers 参数可启用层缓存,加快重复构建速度。通过本教程,你已经掌握了如何在 Ubuntu 上使用 Buildah教程 中的核心技能:安装、构建、查看和导出容器镜像。作为一款强大的 Linux无Docker构建镜像 工具,Buildah 不仅简化了 CI/CD 流程,还提升了系统的安全性和灵活性。无论你是 DevOps 工程师还是初学者,掌握 Buildah 都将为你打开容器技术的新大门。
赶快动手试试吧!你也可以将 Buildah 与 Podman 结合使用,打造完整的无 Docker 容器生态。
本文由主机测评网于2025-12-06发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025123821.html