Docker (Software)

Aus InkluPedia
Docker
Logo
Maintainer Solomon Hykes
Entwickler Docker Inc.
Betriebssystem Linux
Programmiersprache Go
Kategorie Virtualisierung
Lizenz Apache License 2.0
Website docker.com

Docker ist eine Open-Source-Anwendungssoftware der Docker Inc. Docker ermöglicht es, Anwendungen samt ihrer Abhängigkeiten in Linux-Container (LXC) zu intergrieren, damit die Anwendungen transportierbar und darüber auch ausführbar ist. Im Gegensatz zu normaler Virtualisierungssoftware benötigen die Docker-Container kein Gastbetriebssystem und es wird keine Hardware emuliert. Gründer und Chief Technical Officer (CTO) ist Solomon Hykes.[1] Weitere Vorteile sind der geringe Ressourcenbedarf und die kurzen Startzeiten im Vergleich zu einer Virtualisierung. Docker ist unter der Apache License 2.0 verfügbar.[2]

Details

 
Docker kann unterschiedliche Schnittstellen zur Virtualisierung von Teilen des Linux-Kernels nutzen[3]

Durch die die Unterstützung der schlanken Linuxdistribution Boot2docker, welche auf Tiny Core Linux basiert, lässt sich Docker auch mit Mac OS X-, Microsoft Windows- und .NET-Anwendungen nutzen. Boot2docker nutzt dazu "VBoxManage" von Oracles Virtualisierungssoftware VirtualBox. Am 9. Juni 2014 erfolgte die Freigabe der Docker Version 1.0, womit die Software für den Unternehmenseinsatz freigegeben ist. Dokumentationen und Trainings stehen zur Verfügung. Die Version 1.0 wird mindestens ein Jahr lang unterstützt. Mit der Veröffentlichung der Version 1.0 ist auch ein sogenannter "Docker Hub" an den Start gegangen. "Docker Hub" ist ein zentrales Repository für Programme, die Docker nutzen. Bereits zum Start des Cloud-Dienstes sind ca. 14.000 Anwendungen verfügbar. Diese sind teilweise kostenlos, andernteils sind über kommerziellen Dienstleistungen von Docker Inc. verfügbar. Softwareunternehmen wie Amazon, Google und Red Hat haben bereits begonnen, Docker zu unterstützen.[4]

Als Host wird ein 64-Bit-basiertes Linux-System benötigt. Die Kompatibilität zu anderen Betriebssystemen ist bereits in der Entwicklung, unter anderem für Mac OS X. Bis zur Fertigstellung kann das Problem mit virtuellen Maschinen durch Virtualisierungslösungen wie VirtualBox gelöst werden.[2]

Die Software Panamax bietet eine Benutzeroberfläche zum Erzeugen von Containern für Software. Panamax kann als Frontend für Docker, Fleet und CoreOS genutzt werden.

Geschichte

Hykes startete Docker als Platform as a Service (PaaS) innerhalb von dotCloud. Im März 2013 wurde Docker als Open-Source-Software veröffentlicht.[5] Am 23. Juli 2013 gab dotCloud bekannt, dass Ben Golub dem Unternehmen beigetreten ist. Golub war zuvor CEO bei dem Softwareunternehmen Gluster und davor bei Plaxo.[6] Im Januar 2014 gab Docker bekannt, dass sie 15 Mio. US-Dollar Risikokapital angeführt von Greylock Partners erhalten. Mit den vorherigen Kapitalgebern Benchmark Capital, Trinity Ventures und dem Yahoo-Mitbegründer Jerry Yang hat Docker bis dahin bereits 26 Mio. US-Dollar Risikokapital eingesammelt.[7]

Seit dem 17. April 2014 hat die Docker REST API offiziell die Ports 2375 (unverschlüsselt) und 2376 (verschlüsselt) von der "Internet Assigned Numbers Authority" (IANA) zugewiesen bekommen.[8] Die im Juni 2014 veröffentlichte Version 7 von "Red Hat Enterprise Linux" nutzt die Container-Lösung Docker, um den Schwerpunkt Cloud Computing der Distribution umzusetzen.[9] Anfang Juli 2014 stellte der NAS-Hersteller Qnap die nachrüstbare Anwendung Virtualization Station zur Unterstützung von Docker-Containern zur Verfügung.[10] Im Juli 2014 haben sich Microsoft, Red Hat, IBM, Docker, Mesosphere, CoreOS und SaltStack dem Docker-Manager-Projekt Kubernetes angeschlossen, das von Google gestartet wurde.[11]

Im August 2014 hat openSUSE die Verfügbarkeit von offiziellen Docker-Containern für openSUSE 13.1 bekanntgegeben.[12] Nur wenige Tage später gab CoreOS die Bereitstellung eines Repositories für Docker-Container bekannt, nachdem CoreOS den Host für private Docker-Container Quay.io übernommen hatte.[13] Ende August verkündete der Vorstandsvorsitzende von VMware, Pat Gelsinger, auf der VMworld Konferenz eine Partnerschaft mit Docker, Google und Pivotal.[14] Ebenfalls Ende August 2014 hat Microsoft bekannt gegeben, dass die Microsoft-Cloud-Lösung Azure die Docker-Verwaltung Kubernetes unterstützt.[15] Mitte Oktober 2014 wurde eine Partnerschaft von Microsoft und Docker Inc bekannt gegeben, welche Docker unter Windows nutzbar machen soll.[16]

Seit der im Oktober 2014 veröffentlichten Version 1.3.0 kann die Integrität von Docker-Containern mittels digitaler Signaturen automatisch überprüft werden und boot2docker wurde in Mac OS X integriert.[17] Anfang November 2014 kündigte Mark Shuttleworth auf der OpenStack-Summit in Paris an, dass Canonical zusammen mit Docker Inc. an einem sicheren Hypervisor für Container namens LXD arbeitet. LXD soll Open Source werden und in sechs Monaten einsatzbereit sein.[18] Ebenfalls anfang November 2014 hat Google auf der Google Cloud Platform Live in San Francisco eine neue Container Engine zur Nutzung der Container-Verpackungstechnik Docker in der eigenen Cloud-Plattform und weitere Dienste angekündigt[19] Am 4. Dezember 2014 hat Docker Inc. auf der DockerCon Europe 2014 in Amsterdam, Niederlande eine Orchestrations-Plattform vorgestellt. Diese besteht aus den Diensten Docker Machine, Docker Swarm und Docker Compose, die als freie Software bereits als Alphaversionen zur Verfügung stehen. Die Fertigstellung ist für das 2. Quartal 2015 geplant.[20]

Seit Version 1.5.0 vom 3. Februar 2015 können jedem Container IPv6-Addressen zugewiesen werden. Hinzugekommen ist auch die Unterstützung von Nur-Lese-Zugriffsrechten und Statistikfunktionen.[21] Anfang März 2015 übernahm Docker das Open-Source-Projekt Kitematic.[22] Der NAS-Hersteller Synology stellt im März 2015 in der Betaversion der geplanten Betriebssystemversion DSM 5.2 die Unterstützung für Docker-Container zur Verfügung.[23] Mitte April 2015 wurde bekannt gegeben, dass Docker in einer von Insight Venture Partners angeführten Finanzierungsrunde 95 Millionen US-Dollar Investitionskapital erhalten hat. Seit der letzten Finanzierungsrunde im September 2014 hat sich die Anzahl der Mitarbeiter bei Docker auf 120 verdoppelt.[24] Am 16. April 2015 gab Microsoft bekannt, das mit der Docker-Version 1.6.0 die Kommandozeile für Windows verfügbar ist.[25]

Docker gründete mit Amazon Web Services, Apcera, Cisco, CoreOS, EMC, Fujitsu Limited, Goldman Sachs, Google, HP, Huawei, IBM, Intel, Joyent, Linux Foundation, Mesosphere, Microsoft, Pivotal, Rancher Labs, Red Hat und VMware das Open Container Project (OCP).[26] Das Projekt wurde am 22. Juni 2015 auf der DockerCon in San Francisco bekannt gegeben.[27] Im Jahr 2015 übernahm Docker weiterhin SocketPlane und Tutum.[28]

Am 21. Januar 2016 gab Docker die Übernahme des britischen Startup-Unternehmens Unikernel Systems bekannt.[29] Docker 1.10 vom 4. Februar 2016 brachte viele neue Funktionen mit. Unter anderem wurden Seccomp-Profile integrierte, welche die Sicherheit verbessern und ein Container darf nun mehrere Hostnames als Aliases erhalten. Der neue Befehl docker update ermöglicht Änderungen der Container-Ressourcen - wie den verfügbaren Speicher - ohne einen Neustart. Die Engine kennt nun temporäre Dateisysteme und kann die Disk-I/O künstlich beschränken.[30] Anfang März 2016 gab Docker die Übernahme von Conductant bekannt, die das Framework Apache Aurora ins Leben gerufen haben.[31]

Am 24. März 2016 hat Docker eine Beta-Versionen für Windows und Mac vorgestellt. Darin enthalten sind eine Alpine-Linux-Distribution in einer Hyper-V-VM für Windows oder xhyve-VM für Mac OS X, die Docker-Befehlszeile, Compose und Notary sowie ein DNS-Server für Container. Beim Mac läuft die Beta parallel zur Docker Toolbox.[32][33] Mit der fünften Preview von Windows Server 2016 veröffentlichte Microsoft im April 2016 das PowerShell-Modul für Docker als Open Source bei GitHub unter der MIT-Lizenz.[34] Die am 20. Juni 2016 veröffentlichte Version 1.2 hat erstmals eine eingebaute Orchestrierung. Diese dient dazu, Gruppen von Containern gemeinsam zu starten. Das ist nicht auf einen einzelnen Host-Rechner beschränkt, sondern kann ein ganzes Netzwerk umfassen. Seit Version 1.2 müssen sich alle Knoten mit TLS gegenseitig authentifizieren, was die Sicherheit erhöht. Die Einrichtung der Zertifizierungsstelle und der Schlüssel geschieht automatisch.[35]

Integration

Docker kann in verschiedene Infrastruktanwendungen integriert werden, darunter:

  • Ansible: Open-Source-Software zur Orchestrierung und Konfiguration und Administration von Computern
  • CFEngine: Regel-basiertes Computer-Verwaltungssystem
  • Chef: Freie Software für Konfigurationsmanagement
  • Jenkins: Webbasiertes Open-Source-Programmierwerkzeug zur kontinuierlichen Integration
  • Microsoft Azure: Microsofts Cloud-Computing-Plattform mit dem Cloud-Betriebssystem Windows Azure
  • OpenStack: Software für freie Architektur für Cloud-Computing
  • OpenSVC: Software für Disaster Recovery und Systemmanagement
  • Puppet: Open-Source-Software für Konfigurationsmanagement von Computern mit Unix-/Linux/FreeBSD-Betriebssystemen
  • Salt: Open-Source-Software für Konfigurationsmanagement
  • Vagrant: Freie Open-Source-Software zur Erstellung und Konfiguration von virtuellen Entwicklungsumgebungen. Seit Version 1.4 aus Dezember 2013 unterstützt Vagrant Docker zum Provisionieren von virtuellen Maschinen und ist in der Lage es zu installieren.[2]

Versionen (Auswahl)

Versionshistorie[36]

Version Datum
0.3.3 23. Mai 2013
0.5.0 18. Juli 2013
0.6.7 22. November 2013
1.0 9. Juni 2014
1.1.0 3. Juli 2014
1.2.0 22. August 2014
1.3.0 16. Oktober 2014
1.4.1 16. Dezember 2014
1.5.0 3. Februar 2015
1.6.0 17. April 2015
1.7.0 18. Juni 2015
1.8.0 11. August 2015
1.9.0 3. November 2015
1.10 4. Februar 2016
1.11 13. April 2016
1.2 20. Juni 2016

Weblinks

Quellen

  1. What Is Docker? An open platform for distributed apps
  2. 2,0 2,1 2,2 Anwendungen mit Docker transportabel machen | heise Developer, 28.02.2014
  3. Docker 0.9: introducing execution drivers and libcontainer | Docker Blog, March 10, 2014
  4. Virtualisierung: Docker 1.0 für den Unternehmenseinsatz | heise online, 10.06.2014
  5. Docker: Automated and Consistent Software Deployments, Mar 27, 2013
  6. PaaS pioneer dotCloud gets new CEO in industry vet Ben Golub — Tech News and Analysis, Jul. 23, 2013
  7. Docker's open-source bet pays off with $15M round | VentureBeat | Business | by Jordan Novet, January 21, 2014
  8. Service Name and Transport Protocol Port Number Registry
  9. Red Hat Enterprise Linux 7 veröffentlicht » ADMIN Magazin, 11.06.2014
  10. Test: NAS wird zum VM-Server | c't, 22.8.2014
  11. Kubernetes für Docker: Alle machen mit » ADMIN Magazin, 11.07.2014
  12. Docker-Container für Opensuse 13.1 verfügbar - Pro-Linux, 8. August 2014
  13. CoreOS bietet nun auch ein Repository für Docker-Container an | heise online, 14.08.2014
  14. Partnerschaft von Docker und VMware verkündet - Pro-Linux, 26. August 2014
  15. Anwendungs-Container: Microsofts Azure unterstützt Docker-Verwaltung Kubernetes | heise online, 29.08.2014
  16. Anwendungs-Container: Microsoft will Docker für Windows entwickeln | heise online, 15.10.2014
  17. Docker 1.3: signed images, process injection, security options, Mac shared directories | Docker Blog
  18. Canonical arbeitet mit Docker an neuem Hypervisor für Container - Pro-Linux, 5. November 2014
  19. Anwendungs-Container: Googles Compute Engine unterstützt Docker | heise online, 05.11.2014
  20. Docker Inc. stellt Orchestrations-Plattform vor - Pro-Linux, 4. Dezember 2014
  21. Anwendungs-Container: Docker 1.5 erschienen | heise online, 11.02.2015
  22. Linux-Container: Docker kauft Kitematic | heise online, 13.03.2015
  23. CeBIT 2015: Synology packt Docker ins NAS | heise online, 19.03.2015
  24. Anwendungs-Container: Docker kann weitere 95 Millionen sichern | heise online, 15.04.2015
  25. Docker Client for Windows is Now Available | Microsoft Azure Blog
  26. Container für alle: Open Container Project vorgestellt | heise online, 23.06.2015
  27. EnterpriseTech | Goldman Sachs Brokers Container Spec Deal, June 22, 2015
  28. Docker kauft Unikernel Systems - Pro-Linux, 22. Januar 2016
  29. Docker Acquires Unikernel Systems As It Looks Beyond Containers | TechCrunch, Jan 21, 2016
  30. Anwendungscontainer: Docker 1.10 bringt erweiterte Sicherheits- und Netzwerkfunktionen | heise online, 05.02.2016
  31. Anwendungs-Container: Docker übernimmt mit Conductant die Macher von Apache Aurora | heise online, 04.03.2016
  32. Anwendungscontainer: Docker für Mac und Windows als Beta veröffentlicht | heise online, 29.03.2016
  33. Docker for Mac and Windows Beta: the simplest way to use Docker on your laptop | Docker Blog, March 24, 2016
  34. Neue Vorschau auf Windows Server 2016 | heise online, 28.04.2016
  35. Docker 1.12 mit eingebauter Orchestrierung erschienen - Pro-Linux, 21. Juni 2016
  36. docker/CHANGELOG.md at master · docker/docker · GitHub