Drahtlose Netzwerke sind überall: Zu Hause, im Café und in der Firma. Im Gegensatz zu Kabelnetzen verliert der Admin bei WLANs allerdings schnell die ... (mehr)

Mitgedacht: Automatischer Build

Für die Docker-Entwickler endet PaaS aber offensichtlich nicht dort, wo ein Nutzer einen Container startet, um anschließend seine Applikation darin zu installieren. Denn auch diesen letzten Schritt wollen die Docker-Entwickler den Benutzern noch erleichtern: Ein automatisches Build-System ist direkt in Docker integriert und richtet sich vorrangig an die Entwickler von Programmen, die ihre App gern als Docker-Container verteilen möchten. Über die sogenannten Dockerfiles lässt sich nämlich ebenfalls die Konfiguration eines Containers bis ins Detail festlegen. Über Dockerfiles steht dem Entwickler anschließend die Möglichkeit zur Verfügung, Docker-Container automatisiert anzulegen. Das wäre beispielsweise dann von Vorteil, wenn man von der eigenen Applikation neben einer Stable-Version auch eine Snapshot-Version anbieten wollte, die sich nachts jeweils einen aktuellen GitHub-Checkout des Programms besorgt und dann daraus ein fertiges Docker-Image baut. Wer sich diese Funktion genauer ansehen mag, findet in der Docker-Dokumentation unter [1] entsprechende Details zu den Dockerfiles.

Versionskontrolle

Ebenfalls ein Schmankerl für alle, die Docker-Container produktiv nutzen wollen, sind die Versioning-Features von Docker. Denn für Docker haben dessen Entwickler im Grunde einen kleinen Klon von Git implementiert, der aber auf den Docker-Betrieb spezialisiert ist. Dazu gehören viele Befehle, die in der Tat an Git erinnern: »docker commit« , »docker diff« und »docker history« sind dafür nur einige Beispiele. Diese Funktionen sorgen letztlich dafür, dass nicht für jede neue Version eines Images eine komplette Kopie der ursprünglichen Datei notwendig ist. In Abhängigkeit von den Containern würde das schließlich schnell zu Platznot führen. Docker umgeht das Problem überaus elegant, indem es quasi ein lokales "Container-Repository" führt, in das sich Änderungen jederzeit committen lassen. Über die vormals beschriebene Funktion des Automated Builds lässt sich obendrein zu jedem Zeitpunkt aus einem Image in einer bestimmten Version jederzeit wieder ein fertiges Container-File zur Weitergabe herstellen. Insgesamt ist der Umgang mit Containern also überaus elegant implementiert.

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023