© Liashko/Shutterstock.com
Entwickler Magazin
Puppet und Co. im Einklang mit der Docker-Technologie

Konfigurationsmanagement im Container

Docker setzt beim Aufbau der Container auf einen Image-basierten Ansatz und fordert damit eingeschliffene Vorgehensweisen des Konfigurationsmanagements mit Tools wie Puppet oder Chef heraus. Je nach Anwendungsfall lassen sich auch beide Vorgehensweisen kombinieren. In der Ferne grüßt aber bereits der „konfigurationsfreie“ Microservice.

Andreas Schmidt


In der täglichen Arbeit mit Docker gibt es verschiedene Wege, um zu lauffähigen Anwendungen bzw. Containern zu gelangen. Neben dem direkten Arbeiten „im Container“ und nachträglichem Commit eines Versionsstands lassen sich vordefinierte Container sehr einfach über das Dockerfile erzeugen. Die Nutzung dieses Ansatzes führt zu einem definierten und nachvollziehbaren Weg der Containererstellung, der für viele Teile der Lieferkette in der IT sehr hilfreich ist: Jetzt können Bausteine mit klar definierten Funktionen entstehen und in Betrieb genommen werden.

Dabei besitzt das Dockerfile eine sehr einfache Syntax [1], die an den Shell-Stil angelehnt ist. Der Nutzer beschreibt dabei, auf welchem Basis-Image sein Container aufbaut, welche Shell-Kommandos zur Provisionierung ausgeführt werden sollen und welche weiteren Ressourcen wie Volumes, Umgebungsparameter oder Ports Verwendung finden. Details hierzu erfahren Sie im Grundlagenartikel „Docker-Basics“ auf Seite 6.

Der einfache Aufbau eines Dockerfiles stellt eine niedrige Hürde beim Einstieg in die Containererstellung dar. Gleichzeitig steht der Ansatz in Kontrast zu Vorgehensweisen, die innerhalb der letzten Jahre im Zuge von Continuous Delivery eingeführt wurden. Viele Unternehmen haben Ressourcen in den Aufbau ihrer Deployment-Pipelines und die Umsetzung und Vereinheitlichung von Konfigurationsmanagement (KM) investiert. In Deutschland zählen Werkzeuge wie Puppet [2] oder Chef [3] zu den bekanntesten Vertretern in diesem Bereich, mit Ansible und Salt stehen schon die nächsten Herausforderer in den Startlöchern. Für Unternehmen stellt sich die Frage, ob für den Einsatz von Docker eine neue Vorgehensweise notwendig wird, oder ob sich bewährte Vorgehensweisen weiterverwenden lassen, und in welchem Rahmen das sinnvoll sein kann.

Nun gibt es mehrere Möglichkeiten, wie sich die Konfiguration für Docker und Docker-Container anwenden lässt:

Konfiguration des Docker-HostsKonfiguration der ContainerDynamische Konfiguration der Container

Docker-Host

Der erste Bedarf für Konfiguration stellt sich auf dem Host ein, auf dem der Docker Daemon beheimatet ist. Hier geht es darum, das Softwarepaket Docker zu installieren und gemäß den eigenen Anforderungen, etwa an Sicherheit oder die eigene Umgebung (Beispiel: IP-Adressen für den API-Zugriff) anzupassen (Abb. 1).

Abb. 1: Installation und Konfiguration von Docker über Puppet

Diese Aufgabe ist dem klassischen Server-Provisioning zuzurechnen und stellt sich immer dann, wenn Hardware ...

Entwickler Magazin
Puppet und Co. im Einklang mit der Docker-Technologie

Konfigurationsmanagement im Container

Docker setzt beim Aufbau der Container auf einen Image-basierten Ansatz und fordert damit eingeschliffene Vorgehensweisen des Konfigurationsmanagements mit Tools wie Puppet oder Chef heraus. Je nach Anwendungsfall lassen sich auch beide Vorgehensweisen kombinieren. In der Ferne grüßt aber bereits der „konfigurationsfreie“ Microservice.

Andreas Schmidt


In der täglichen Arbeit mit Docker gibt es verschiedene Wege, um zu lauffähigen Anwendungen bzw. Containern zu gelangen. Neben dem direkten Arbeiten „im Container“ und nachträglichem Commit eines Versionsstands lassen sich vordefinierte Container sehr einfach über das Dockerfile erzeugen. Die Nutzung dieses Ansatzes führt zu einem definierten und nachvollziehbaren Weg der Containererstellung, der für viele Teile der Lieferkette in der IT sehr hilfreich ist: Jetzt können Bausteine mit klar definierten Funktionen entstehen und in Betrieb genommen werden.

Dabei besitzt das Dockerfile eine sehr einfache Syntax [1], die an den Shell-Stil angelehnt ist. Der Nutzer beschreibt dabei, auf welchem Basis-Image sein Container aufbaut, welche Shell-Kommandos zur Provisionierung ausgeführt werden sollen und welche weiteren Ressourcen wie Volumes, Umgebungsparameter oder Ports Verwendung finden. Details hierzu erfahren Sie im Grundlagenartikel „Docker-Basics“ auf Seite 6.

Der einfache Aufbau eines Dockerfiles stellt eine niedrige Hürde beim Einstieg in die Containererstellung dar. Gleichzeitig steht der Ansatz in Kontrast zu Vorgehensweisen, die innerhalb der letzten Jahre im Zuge von Continuous Delivery eingeführt wurden. Viele Unternehmen haben Ressourcen in den Aufbau ihrer Deployment-Pipelines und die Umsetzung und Vereinheitlichung von Konfigurationsmanagement (KM) investiert. In Deutschland zählen Werkzeuge wie Puppet [2] oder Chef [3] zu den bekanntesten Vertretern in diesem Bereich, mit Ansible und Salt stehen schon die nächsten Herausforderer in den Startlöchern. Für Unternehmen stellt sich die Frage, ob für den Einsatz von Docker eine neue Vorgehensweise notwendig wird, oder ob sich bewährte Vorgehensweisen weiterverwenden lassen, und in welchem Rahmen das sinnvoll sein kann.

Nun gibt es mehrere Möglichkeiten, wie sich die Konfiguration für Docker und Docker-Container anwenden lässt:

Konfiguration des Docker-HostsKonfiguration der ContainerDynamische Konfiguration der Container

Docker-Host

Der erste Bedarf für Konfiguration stellt sich auf dem Host ein, auf dem der Docker Daemon beheimatet ist. Hier geht es darum, das Softwarepaket Docker zu installieren und gemäß den eigenen Anforderungen, etwa an Sicherheit oder die eigene Umgebung (Beispiel: IP-Adressen für den API-Zugriff) anzupassen (Abb. 1).

Abb. 1: Installation und Konfiguration von Docker über Puppet

Diese Aufgabe ist dem klassischen Server-Provisioning zuzurechnen und stellt sich immer dann, wenn Hardware ...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang