Docker (Software)
Docker | |
---|---|
![]() | |
Entwickler | Docker Inc. |
Betriebssystem | Linux, BSD, Windows, OS X |
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. Es ist für Linux, BSD, Windows und OS X verfügbar. Die Docker-Engines für Windows und OS X sind nativ, die Container selbst nutzen jedoch eine virtualisierte Instanz der Linux-Distribution Alpine.[1] Im Gegensatz zu normaler Virtualisierungssoftware benötigen die Docker-Container kein Gastbetriebssystem und es wird keine Hardware emuliert. 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] Gründer ist Solomon Hykes.[3]
Details
![](https://upload.wikimedia.org/wikipedia/commons/thumb/0/09/Docker-linux-interfaces.svg/langde-220px-Docker-linux-interfaces.svg.png)
Durch die die Unterstützung der schlanken Linux-Distribution Boot2docker, welche auf Tiny Core Linux basiert, lässt sich Docker auch mit 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 früh begonnen, Docker zu unterstützen.[5]
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. Als Speicher-Backend können in Docker verschiedene Dateisysteme verwendet werden, darunter das Overlay-Dateisystem aufs, das Copy-On-Write-Dateisystem Btrfs sowie devicemapper.[6]
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.[7] 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.[8] 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.[9]
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.[10] 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.[11] Anfang Juli 2014 stellte der NAS-Hersteller Qnap die nachrüstbare Anwendung Virtualization Station zur Unterstützung von Docker-Containern zur Verfügung.[12] 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.[13]
Im August 2014 hat openSUSE die Verfügbarkeit von offiziellen Docker-Containern für openSUSE 13.1 bekanntgegeben.[14] 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.[15] Ende August verkündete der Vorstandsvorsitzende von VMware, Pat Gelsinger, auf der VMworld Konferenz eine Partnerschaft mit Docker, Google und Pivotal.[16] Ebenfalls Ende August 2014 hat Microsoft bekannt gegeben, dass die Microsoft-Cloud-Lösung Azure die Docker-Verwaltung Kubernetes unterstützt.[17] Mitte Oktober 2014 wurde eine Partnerschaft von Microsoft und Docker Inc bekannt gegeben, welche Docker unter Windows nutzbar machen soll.[18]
Ab Herbst 2014 entwickelten Mitglieder des Eclipse Linux Tools Project von Red Hat für die integrierte Entwicklungsumgebung Eclipse Plug-ins für die Verwaltung von Docker Images und Containern innerhalb von Eclipse.[19] 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.[20] 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.[21] 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[22] 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.[23]
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.[24] Anfang März 2015 übernahm Docker das Open-Source-Projekt Kitematic.[25] 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.[26] 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.[27] Am 16. April 2015 gab Microsoft bekannt, das mit der Docker-Version 1.6.0 die Kommandozeile für Windows verfügbar ist.[28]
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).[29] Das Projekt wurde am 22. Juni 2015 auf der DockerCon in San Francisco bekannt gegeben.[30] Im Jahr 2015 übernahm Docker weiterhin SocketPlane und Tutum.[31]
Am 21. Januar 2016 gab Docker die Übernahme des britischen Startup-Unternehmens Unikernel Systems bekannt.[32] 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.[33] Anfang März 2016 gab Docker die Übernahme von Conductant bekannt, die das Framework Apache Aurora ins Leben gerufen haben.[34]
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.[35][36] 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.[37] Die am 20. Juni 2016 veröffentlichte Version 1.12 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.12 müssen sich alle Knoten mit TLS gegenseitig authentifizieren, was die Sicherheit erhöht. Die Einrichtung der Zertifizierungsstelle und der Schlüssel geschieht automatisch.[38] Während der Betaphase der Docker-Engines für Windows und OS X verwendete Docker VirtualBox zur Virtualisierung. In der stabilen Version 1.12 von Juli 2016 wird hingegen bei Windows Hyper-V und bei OS X Xhyve verwendet. Bereits Ende 2014 beschlossen Microsoft und Docker eine Zusammenarbeit. Das kommende neue Betriebssystem Windows Server 2016 unterstützt Container und wird die Docker-Engine in einer angepassten Version verwenden.[1]
Seit Version 1.12.1 vom 18. August 2016 kann Docker auch auf ARM-basierenden Geräten wie dem Raspberry Pi (hier über Raspbian Jessie) ausgeführt werden. An der ARM-Unterstützung hat das deutsche Hypriot-Team aus Bamberg maßgeblich mitgewirkt.[39] Docker 1.13 vom 19. Januar 2017 enthält ein eigenes Container-Orchestrierungswerkzeug, neue Sicherheits-Features, eine neue Remote API samt zugehöriger Client-Software und zahlreiche Überarbeitungen am Swarm Mode. Weiterhin können zwecks Abwärtskompatibilität nur neue CLIs (Command Line Interfaces) mit älteren Daemons sprechen. Dadurch können Docker-Installationen mit verschiedenen Versionen von derselben Maschine aus verwaltet werden. Debian- und RPM-Pakete lassen sich nun auf Ubuntu-16.10-, Ubuntu-16.04- und Fedora-25-Betriebssystemen bauen und die PPC64le- (PowerPC 64-Bit Little Endian) und s390x-Architekturen (IBM System z) nutzen. Weiterhin wurden Docker für AWS (Amazon Web Services) und Docker für Azure für den Produktiveinsatz freigegeben.[40] Am 8. Februar 2017 wurde Docker 1.13.1 veröffentlicht. Die darauffolgende Version bekam die Nummer 17.03.0-ce-rc1. Das Versionsschema wurde mit dieser Version geändert, da Docker auf einen monatlichen Veröffentlichungszyklus umgestellt wurde.[41] Am 15. März 2017 wurde FreeNAS Corral unter anderem mit Unterstützung von Docker Containern veröffentlicht. FreeNAS ist ein freies Betriebssystem für Network Attached Storage (NAS).[42]
Am 12. April 2017 wurde von dem Unternehmen Rancher Labs die Distribution RancherOS 1.0.0 allgemein veröffentlicht.[43] RancherOS ist für den Einsatz von Containern ausgelegt. So startet zum Beispiel das Betriebssystem nicht mit einem traditionellen init-Programm, sondern direkt mit Docker. Alle weitere Software packt RancherOS ebenfalls in Container. RacherOS steht unter der Apache-2.0-Lizenz. Die Distribution kann neben der Selbstinsallation auch per AMI-Abbild für Amazons EC2 oder als Image für Googles Compute Engine bezogen werden.[44] Auf der DockerCon 2017 vom 17. bis 20. April 2017 in Austin, Texas stellte Docker Inc. sein neues Projekt Moby vor. Moby besteht aus einer Bibliothek in Containern verpackter Backend-Komponenten und einem Framework, um diese zusammensetzen zu können. Mit Moby Origin besteht eine Referenzzusammenstellung oder -Assembly, die auch die Grundlage der Docker-Containerplattform darstellt.[45] Im Oktober 2017 wurde auf der DockerCon EU 2017 in Kopenhagen bekannt gegeben, dass die Containerplattform Docker in Zukunft die Orchestrierungsplattform Kubernetes unterstützen wird. Die eigene Orchestrierungsvariante Docker Swarm wird damit nicht von Docker aufgegeben. Beide Orchestrierungswerkzeuge sollen zusammenarbeiten können.[46]
Seit Version 9.0.1FP10 vom 1. Februar 2018 unterstützt IBM Domino die Plattform Docker.[47] Mit der im März 2018 veröffentlichten Version 1.0 von der auf Docker beruhenden Anwendung Karton lassen sich Linux-Kommandozeilenprogramme unter unterschiedlichen Linux-Distributionen, auf anderen Architekturen und auch auf macOS ausführen. Dabei besitzen die Programm Zugriff auf lokale Dateien. Die Unterstützung von X11-Programmen ist geplant. Ist das Programm für eine fremde Architektur geschrieben, so sorgt Karton dafür, dass das Programm mit der freien Virtualisierungssoftware QEMU abgearbeitet wird. Karton 1.0 setzt Docker und Python voraus.[48] Am 28. März 2018 kündigte Docker-Mitgründer und langjährige CTO Solomon Hykes an, das Unternehmen zu verlassen.[49][50]
Integration
Docker kann in verschiedene Infrastruktanwendungen integriert werden, darunter:
- Amazon Web Services (AWS): Online-Dienste des US-amerikanischen Unternehmens Amazon.com
- 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[51]
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.0 | 4. Februar 2016 |
1.11.0 | 13. April 2016 |
1.12.0 | 14. Juli 2016 |
1.13.0 | 19. Januar 2017 |
17.04.0-ce | 5. März 2017 |
17.06.0-ce | 28. Juni 2017 |
17.07.0-ce | 29. August 2017 |
17.10.0-ce | 17. Oktober 2017 |
18.01.0-ce | 10. Januar 2018 |
18.02.0-ce | 7. Februar 2018 |
18.03.0-ce | 21. März 2018 |
Weblinks
- https://www.docker.com/ Homepage
- Docker Blog
- Docker bei Facebook
- Docker bei X/Twitter
- Docker (Software) bei YouTube
- Docker (Software) bei LinkedIn
- http://boot2docker.io/ Boot2docker
- Anwendungen mit Docker transportabel machen | heise Developer
- Renaissance der Container-Virtualisierung mit Docker » ADMIN Magazin
- Getting Docker up and running on a RaspberryPi
- Docker (software) in der englischsprachigen Wikipedia
Quellen
- ↑ 1,0 1,1 Docker für Windows und OS X stabil veröffentlicht - Pro-Linux, 29. Juli 2016
- ↑ 2,0 2,1 Anwendungen mit Docker transportabel machen | heise Developer, 28.02.2014
- ↑ What Is Docker? An open platform for distributed apps
- ↑ Docker 0.9: introducing execution drivers and libcontainer | Docker Blog, March 10, 2014
- ↑ Virtualisierung: Docker 1.0 für den Unternehmenseinsatz | heise online, 10.06.2014
- ↑ Supported Filesystems — Project Atomic
- ↑ Docker: Automated and Consistent Software Deployments, Mar 27, 2013
- ↑ PaaS pioneer dotCloud gets new CEO in industry vet Ben Golub — Tech News and Analysis, Jul. 23, 2013
- ↑ Docker's open-source bet pays off with $15M round | VentureBeat | Business | by Jordan Novet, January 21, 2014
- ↑ Service Name and Transport Protocol Port Number Registry
- ↑ Red Hat Enterprise Linux 7 veröffentlicht » ADMIN Magazin, 11.06.2014
- ↑ Test: NAS wird zum VM-Server | c't, 22.8.2014
- ↑ Kubernetes für Docker: Alle machen mit » ADMIN Magazin, 11.07.2014
- ↑ Docker-Container für Opensuse 13.1 verfügbar - Pro-Linux, 8. August 2014
- ↑ CoreOS bietet nun auch ein Repository für Docker-Container an | heise online, 14.08.2014
- ↑ Partnerschaft von Docker und VMware verkündet - Pro-Linux, 26. August 2014
- ↑ Anwendungs-Container: Microsofts Azure unterstützt Docker-Verwaltung Kubernetes | heise online, 29.08.2014
- ↑ Anwendungs-Container: Microsoft will Docker für Windows entwickeln | heise online, 15.10.2014
- ↑ Docker Tooling in Eclipse: Ran an die Container! - JAXenter, 27. Mai 2016
- ↑ Docker 1.3: signed images, process injection, security options, Mac shared directories | Docker Blog
- ↑ Canonical arbeitet mit Docker an neuem Hypervisor für Container - Pro-Linux, 5. November 2014
- ↑ Anwendungs-Container: Googles Compute Engine unterstützt Docker | heise online, 05.11.2014
- ↑ Docker Inc. stellt Orchestrations-Plattform vor - Pro-Linux, 4. Dezember 2014
- ↑ Anwendungs-Container: Docker 1.5 erschienen | heise online, 11.02.2015
- ↑ Linux-Container: Docker kauft Kitematic | heise online, 13.03.2015
- ↑ CeBIT 2015: Synology packt Docker ins NAS | heise online, 19.03.2015
- ↑ Anwendungs-Container: Docker kann weitere 95 Millionen sichern | heise online, 15.04.2015
- ↑ Docker Client for Windows is Now Available | Microsoft Azure Blog
- ↑ Container für alle: Open Container Project vorgestellt | heise online, 23.06.2015
- ↑ EnterpriseTech | Goldman Sachs Brokers Container Spec Deal, June 22, 2015
- ↑ Docker kauft Unikernel Systems - Pro-Linux, 22. Januar 2016
- ↑ Docker Acquires Unikernel Systems As It Looks Beyond Containers | TechCrunch, Jan 21, 2016
- ↑ Anwendungscontainer: Docker 1.10 bringt erweiterte Sicherheits- und Netzwerkfunktionen | heise online, 05.02.2016
- ↑ Anwendungs-Container: Docker übernimmt mit Conductant die Macher von Apache Aurora | heise online, 04.03.2016
- ↑ Anwendungscontainer: Docker für Mac und Windows als Beta veröffentlicht | heise online, 29.03.2016
- ↑ Docker for Mac and Windows Beta: the simplest way to use Docker on your laptop | Docker Blog, March 24, 2016
- ↑ Neue Vorschau auf Windows Server 2016 | heise online, 28.04.2016
- ↑ Docker 1.12 mit eingebauter Orchestrierung erschienen - Pro-Linux, 21. Juni 2016
- ↑ Docker landet auf dem Raspberry Pi und anderen ARM-Systemen | heise Developer, 19.08.2016
- ↑ Containerisierung: Mehr Orchestrierung und bessere Interoperabilität bei Docker 1.13 | heise online, 20.01.2017
- ↑ Release v17.03.0-ce-rc1 · docker/docker · GitHub
- ↑ Introducing FreeNAS Corral: The World's First Open Source Hyper-converged Storage Platform - FreeNAS - Open Source Storage Operating System, Mar 15, 2017
- ↑ [Press Release RancherOS Hits General Availability | Rancher Labs, Apr 12, 2017]
- ↑ RancherOS 1.0.0: LTS-Release des Docker-Linux freigegeben | heise online, 14.04.2017
- ↑ DockerCon: Docker stellt "Lego-Set" Moby für Systembauer vor | heise online, 19.04.2017
- ↑ Container: Docker unterstützt Kubernetes | heise Developer, 17.10.2017
- ↑ Notes/Domino Fix List - IBM Notes®/Domino® 9.0.1 Feature Pack 10 Release Notice
- ↑ Karton 1.0 erschienen - Pro-Linux, 14. März 2018
- ↑ Docker-Gründer Solomon Hykes verabschiedet sich | heise Developer, 29.03.2018
- ↑ Au revoir - Docker Blog, March 28, 2018
- ↑ docker/CHANGELOG.md at master · docker/docker · GitHub