Docker – ist eine Art virtueller Open-Source (Apache 2.0) Linux Container in dem man Anwendungen oder Linux Distros mit bestimmten Abhängigkeiten (Apache+Mysql+PHP Stack) zusammenfalten, auf verschiedenen Linux Systemen ausführen/vorführen & gediegen verteilen kann.
Gerade für Entwickler/Administratoren, die mit verschiedenen Anwendungsversionen umher jonglieren, kommt Docker gut. Die toll dokumentierte Doku und ein super interaktives Tutorial helfen beim Einstieg in die Materie.
Einige Beschaffenheit von Docker:
- Docker-Container sind portabel und können auf jeder Plattform ausgeführt werden, auf der Docker installiert ist
- Docker ermöglicht eine saueinfache Skalierung von Anwendungen durch das Hinzufügen oder Entfernen von Containern
- Jeder Container ist isoliert, was bedeutet, dass Änderungen an einer Anwendung nicht den Rest des Systems beeinträchtigen
- Da jeder Container alle notwendigen Abhängigkeiten und Bibliotheken inne hat, kann die Bereitstellung von Anwendungen ultra schnell erfolgen
- Docker gewährleistet Konsistenz zwischen Entwicklungs-, Test- und Produktionsumgebungen, da alle Anwendungen in Containern ausgeführt werden
- Docker bietet eine zusätzliche Sicherheitsebene, da jeder Container isoliert ist und im Rootless-Mode laufen kann womit das Risiko von Angriffen und Datenlecks reduced wird
Um eure Docker-Container über ein Webinterface zu pflegen, empfehle ich euch die noch jünge aber kostenfreie (MIT) Docker GUI Portainer.
PS: Ein ausführliches Video auf Deutsch zu dem Docker Konzept & den dafür benötigten Tools gibt es auf Youtube.