c't 26/2018
S. 148
Praxis
Docker-Compose
Aufmacherbild

Container-Komponist

Docker-Container mit Docker-Compose einrichten

Docker-Compose erleichtert den Umgang mit komplexen Container-Umgebungen, die zusammenarbeiten sollen. Entwicklern und Administratoren nimmt das Werkzeug viel Arbeit ab und schafft eine Infrastruktur, die überall gleich funktioniert.

Hat man ein passendes, gutes und sicheres Container-Image für ein Problem gefunden [1], ist der Container mit Docker schnell gestartet: Mit docker run <Name des Images> beginnt der Docker-Daemon, das Abbild aus der Registry zu beschaffen und startet den Container. Mit allerlei Parametern kann man den Container jetzt nach eigenen Wünschen anpassen und zum Beispiel einen Namen vergeben, ein Volume anhängen oder einen Port des Containers auf dem Rechner verfügbar machen. Leider ergibt das schon bei einfachen Aufgaben wie einem Webserver, der statische Inhalte ausliefern soll, einen langen und schlecht lesbaren Befehl. Arbeiten mehrere Container zusammen, die aufeinander angewiesen sind, ist eine Sammlung von Zeilen mit docker run nicht mehr praktikabel.

Mit Docker-Compose definieren Sie in einer Yaml-Datei, welche Container zusammenarbeiten sollen, wie sie heißen, welche Images sie verwenden und wie sie miteinander kommunizieren dürfen. Mit dem Befehl docker-compose up fährt die Komposition dann hoch – auf dem heimischen Entwicklungs-PC genauso wie auf dem Root-Server.