Definition „Buildah“ Was ist Buildah?

Von zeroshope

Anbieter zum Thema

Buildah ist ein Werkzeug, dass der Erstellung von Containern ohne Docker dient. Dies gelingt vergleichbar schnell und einfach, ist aber dennoch OCI-konform. Dies ist sind dabei nicht die einzigen Vorteile, über welche diese Software verfügt.

Buildah ist ein guter, quelloffener Einstiegspunkt, um OCI-konforme Container-Images zu erstellen.
Buildah ist ein guter, quelloffener Einstiegspunkt, um OCI-konforme Container-Images zu erstellen.
(Bild: buildah.io )

Unter der Bezeichnung Buildah ist ein Kommandozeilenwerkzeug zu verstehen, dass der Erstellung von Containern dient. Diese können im Vergleich mit der weit verbreiteten Lösung Docker deutlich schneller und einfacher durch die Nutzung des Tools erzeugt werden. Dabei verzichtet Buildah auf den Einsatz von zahlreichen User-Space-Tools und Bibliotheken, die sonst gängig zum Einsatz kommen und den Prozess erschweren. Die Container genügen den Normen der Open Container Initiative (OCI).

Einfach verständlich erklärt: So funktioniert Buildah

Container erhalten virtualisierte Anwendungen. Sie stellen also Nutzern eine bestimmte Software zur Verfügung. Container sind deshalb eigenständige Prozesse. Sie laufen aus diesem Grund nicht unter Docker, sondern im Linux-Kernel (das zentrale Modul des Betriebssystems, das Prozesse managt). Entsprechend ist es möglich, hier über einen direkten Zugriff die Container zu erzeugen. Ein Runtime-Daemon (Hintergrundprozess zur Bereitstellung spezifischer Dienste) muss nicht verwendet werden.

Eben diesen Umstand macht sich Buildah zunutze: Es verfügt über ein einfaches Kommandozeilen-Interface (abgekürzt CLI für die englischen Vokabeln "Command Line Interface"), um Container aufgrund bestehender Images zu erzeugen oder diese mittels eines externen Packwerkzeugs zu füllen. Theoretisch kann der Container auch mit einem leeren Image gestartet werden.

Images sind bitgenaue Kopien bestehender Anwendungen. Der Ausdruck meint also nur, dass eine Software über den Container ausgespielt wird. Handelt es sich um leeres Image, fehlt die Kopie entsprechend. Derartige Container werden mit Buildah beispielsweise gerne zu Testzwecken gebaut.

Vereinfacht gesagt vermeidet Buildah also viele der leistungsfordernden Subfunktionen von Lösungen wie Docker und legt den Fokus auf die Kernaufgabe. Hierfür baut es auf den Open-Source-Projekten containers/image und containers/image auf, deren Spezifikationen via Github bezogen werden können.

Diese Vorteile bietet Buildah

  • geringe Größe der Images
  • hohe Sicherheit, da die zur Erzeugung verwendete Software nicht Teil des Images ist
  • vergleichbar geringe Ressourcenanforderungen
  • gut geeignet für Produktions- und Testumgebungen, da die Möglichkeit der Erzeugung eines Single Layer Images (nur eine Schicht in der Kopie, in der Daten abgelegt werden) besteht

Nachteile der Buildah-Nutzung

Buildah hat mit nur einem echten Nachteil zu kämpfen: Das Werkzeug muss mit Root-Rechten arbeiten, da es auf den Linux-Kernel zugreift. Entsprechend besteht ein Sicherheitsrisiko, wenn das Tool selbst infiziert sein sollte. Da viele verschiedene Versionen im Netz kursieren, ist dies ein ernstzunehmendes Problem. Das Werkzeug sollte daher idealerweise von den Entwicklern bezogen werden.

Artikelfiles und Artikellinks

(ID:48482622)

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung