跳转到节

什么是Buildah?

复制URL

Buildah是一个开源的、基于Linux的工具,用于构建与开放容器倡议(OCI)兼容的容器,表示容器与兼容码头工人库伯内特斯也。使用Buildah,您可以使用自己喜欢的工具从现有的基本映像或使用空映像从头开始创建高效的容器映像。这是一种构建容器映像的更灵活、更安全的方法。在本文中,我们将进一步了解如何进行。

Buildah(以波士顿口音发音的单词“builder”命名)由Daniel Walsh及其团队于2017年在Red Hat创建。他们着手创建容器映像的“coreutils”,该工具可以与现有的容器宿主工具一起用于构建OCI和Docker兼容的容器映像。这些图像可以存储在集装箱登记处并用于多个运行时环境,使用或不使用类似Docker的容器守护进程(这需要root-access权限,其结果容器依赖于守护进程本身的功能)。 

结果是Buildah——一个命令行工具,它:

  • 使用或不使用Dockerfiles构建容器图像(一个文本文档,包含用户可以调用的所有命令来组装图像)
  • 从头开始或从现有容器映像的起点创建容器映像
  • 在映像本身中不包括构建工具,减少了构建映像的大小,提高了安全性,并允许使用更少的资源进行更轻松的传输
  • 与Dockerfiles兼容,允许从Docker轻松过渡
  • 创建特定于用户的图像,以便创建图像的用户可以对图像进行排序。

Buildah提供了无需Dockerfiles构建图像的灵活性,允许将其他脚本语言集成到构建过程中,以及在使用图像本身外部的构建工具时所创造的效率,提供了一种允许更快创新和实现新想法的工具。只需启动和运行必要的工具和过程,就可以快速创建和构建容器映像。

Buildah还允许您:

  • 检查、验证和修改图像
  • 将容器和图像从本地存储推送到公共或私有注册表或存储库
  • 从Docker Hub推拉图像
  • 删除本地存储的容器图像
  • 装载和卸载工作容器的根文件系统
  • 使用容器根文件系统的更新内容作为新映像的文件系统层

Buildah和波德曼都是互补的开源项目和命令行工具,使用并构建OCI-图像和容器。首先创建了Buildah,Podman使用与Buildah相同的代码进行构建。然而,Buildah的命令比Podman的更详细,它允许对图像进行细粒度控制,并允许创建更精细的图像层。波德曼的“build”命令使用了Buildah功能的一个子集。 

Buildah专门用于构建容器映像,复制Dockerfile中的所有命令,而不使用守护程序套接字组件,而Podman专门负责维护和修改容器中的映像。使用Podman,您可以使用Buildah创建容器以提供容器映像,然后使用熟悉的命令行界面(CLI)命令运行、维护和修改您在生产环境中创建的容器(如果您可以在Docker CLI中运行命令,则可以在Podman CLI中运行相同的命令)。 

Podman和Buildah不同的另一种方式是:Buildah的容器主要是临时创建的,以允许将内容传输到正在创建的容器映像中,而使用Podman,用户可以创建传统容器,用于更长时间的使用和维护。Buildah的容器用于短期目的,而Podman的容器用于长期目的。 

还有一件事。Buildah和Podman不共享容器的内部表示,因此一个容器中的容器不能在另一个中看到。但是,它们确实共享容器图像的内部表示,允许从一个容器图像创建、修改或提取的容器图像在另一个容器中显示和使用。  

Buildah从Red Hat开始,与Red Hat的工程师和开发人员共同努力,开发出一个有用的工具,它将成为节省时间和提高生产力的宝贵方法。对于任何使用Linux容器的人来说,Buildah都是一个很有价值的工具,当涉及到容器和Kubernetes时,Red Hat为您提供了从操作系统到自动化

Red Hat知道容器和库伯内特斯。我们拥有产品和服务,确保您以正确的方式构建和执行您的集装箱战略。无论是让您的开发团队建立在考虑容器的平台上,还是在一流的操作系统上运行您的容器基础设施,还是为容器生成的海量数据提供存储解决方案,Red Hat的解决方案都能满足您的需要。

继续阅读

第条

什么是Linux容器?

Linux容器是一组与系统隔离的进程,从一个不同的映像中运行,该映像提供了支持进程所需的所有文件。

第条

容器与虚拟机

Linux容器和虚拟机(VM)是组合了各种IT组件并将其与系统其余部分隔离的打包计算环境。

第条

什么是容器编排?

容器编排自动化了容器的部署、管理、扩展和联网。

有关容器的详细信息

产品

一个企业应用程序平台,具有一套统一的测试服务,可根据您选择的基础设施将应用程序推向市场。

资源

播客

《命令行英雄》第1季第5集:
“集装箱德比”

电子图书

使用混合云和容器提高灵活性

培训

免费培训课程

使用Red Hat运行容器技术概述

免费培训课程

容器、Kubernetes和Red Hat OpenShift技术概述

免费培训课程

使用微服务架构开发云计算应用程序