www.wikidata.de-de.nina.az
Docker ist eine freie Software zur Isolierung von Anwendungen mit Hilfe von Containervirtualisierung DockerBasisdatenEntwickler Docker Inc Erscheinungsjahr 13 Marz 2013 1 Aktuelle Version 24 0 6 2 5 September 2023 Betriebssystem Linux 3 Windows 4 macOS 5 Unix ahnliches SystemProgrammiersprache Go 6 Kategorie SandboxingLizenz proprietare Lizenz Apache Lizenz Version 2 0 7 8 www docker comDocker vereinfacht die Bereitstellung von Anwendungen weil sich Container die alle notigen Pakete enthalten leicht als Dateien transportieren und installieren lassen Container gewahrleisten die Trennung und Verwaltung der auf einem Rechner genutzten Ressourcen Das umfasst laut Aussage der Entwickler Code Laufzeitmodul Systemwerkzeuge Systembibliotheken alles was auf einem Rechner installiert werden kann 9 Inhaltsverzeichnis 1 Grundlagen 2 Begriffe 3 Geschichte 4 Funktionen 4 1 Docker Hub 4 1 1 Missbrauch von Docker Images 4 1 2 Datenleck 4 2 Versionsverwaltung 5 Sicherheitsaspekte 6 Siehe auch 7 Weblinks 8 EinzelnachweiseGrundlagen Bearbeiten nbsp Docker kann verschiedene Schnittstellen verwenden um auf Virtualisierungsfunktionen des Linux Kernels zuzugreifen Docker basiert auf Linux Techniken wie Cgroups und Namespaces um Container zu realisieren Wahrend anfanglich noch die LXC Schnittstelle des Linux Kernels verwendet wurde haben die Docker Entwickler mittlerweile eine eigene Programmierschnittstelle namens libcontainer entwickelt die auch anderen Projekten zur Verfugung steht Als Speicher Backend verwendet Docker das Overlay Dateisystem aufs ab Version 0 8 unterstutzt die Software aber auch btrfs 10 Prinzipiell ist Docker auf die Virtualisierung mit Linux ausgerichtet Da die Docker Technologie einen Linux Kernel benotigt muss fur die Nutzung unter Microsoft Windows die Virtualisierung genutzt werden Docker kann dort mittels WSL 2 Standard 11 Hyper V 12 oder VirtualBox verwendet werden Auf macOS lasst sich HyperKit 13 oder VirtualBox nutzen Da die Ressourcentrennung alleine mit den Docker zugrunde liegenden Techniken wie Namespaces und Cgroups nicht vollig sicher ist hat das Unternehmen Red Hat Unterstutzung fur die sicherheitsrelevante Kernel Erweiterung SELinux implementiert welche die Container auf der Ebene des Host Systems zusatzlich absichert 14 Begriffe BearbeitenImage ein Speicherabbild eines Containers Das Image selbst besteht aus mehreren Layern die schreibgeschutzt sind und somit nicht verandert werden konnen Ein Image ist portabel kann in Repositories gespeichert und mit anderen Nutzern geteilt werden Aus einem Image konnen immer mehrere Container gestartet werden Container als Container wird die aktive Instanz eines Images bezeichnet Der Container wird also gerade ausgefuhrt und ist beschaftigt Sobald der Container kein Programm ausfuhrt oder mit seinem Auftrag fertig ist wird der Container automatisch beendet Layer ein Layer ist Teil eines Images und enthalt einen Befehl oder eine Datei die dem Image hinzugefugt wurde Anhand der Layer kann die ganze Historie des Images nachvollzogen werden Dockerfile eine Textdatei die mit verschiedenen Befehlen ein Image beschreibt Diese werden bei der Ausfuhrung abgearbeitet und fur jeden Befehl wird ein einzelner Layer angelegt Repository ein Repository ist ein Satz gleichnamiger Images mit verschiedenen Tags zumeist Versionen Registry eine Registry wie zum Beispiel Docker Hub oder Artifactory dient der Verwaltung von Repositories libcontainer eine Schnittstelle zu den Grundfunktionen von Docker libswarm eine Schnittstelle um Docker Container zu steuern libchan 15 ermoglicht eine einfache light weighted Kommunikation zwischen Prozessteilen und Prozessen Geschichte BearbeitenDocker wurde im Marz 2013 von dotCloud veroffentlicht 16 Der initiale Commit auf dem Git Repository stammt allerdings vom 19 Januar 2013 und umfasste 1146 Zeilen Code 17 Am 29 Oktober 2013 kundigte dotCloud an sich in Docker Inc umzubenennen 18 Anfang August 2014 verkaufte Docker dann seinen Platform as a Service Dienst dotCloud an die Berliner Firma cloudControl 19 Im Laufe des Jahres 2014 gewann Docker so weit an Bekanntheit und Popularitat dass es Bestandteil des Red Hat Enterprise Linux 7 0 wurde 20 Ausserdem wurde es von openSUSE in das Software Repertoire aufgenommen 21 Im Juli 2014 schlossen sich die Firmen Microsoft Red Hat IBM Docker Mesosphere Core OS und Saltstack dem Kubernetes Projekt an das von Google initiiert worden war Ziel der Kooperation war es mit Kubernetes Docker Container auf samtlichen privaten offentlichen und Hybrid Cloud Umgebungen bereitstellen zu konnen 22 Ab Version 1 0 verwendet Docker die beiden offiziellen von der IANA zugewiesenen Portnummern 2375 fur HTTP und 2376 fur HTTPS Kommunikation 23 Das Unternehmen hinter Docker erhielt im Januar 2014 von mehreren Geldgebern zusammen 15 Millionen US Dollar an Investitionen 24 Im April 2015 folgten Investitionen in Hohe von 95 Millionen US Dollar 25 Insgesamt belaufen sich die Investitionen in die ursprunglich unter dem Namen dotCloud gegrundete Firma damit auf gut 110 Millionen US Dollar 2015 entstand die Open Container Initiative OCI Neben u a CoreOS ist Docker eines der Grundungsmitglieder Das Ziel der OCI besteht darin einen offenen Standard fur eine komplette Container Umgebung zu schaffen Dies schliesst beispielsweise die Laufzeitumgebung und Spezifikationen fur die Images ein Dockers eigene Werkzeuge wie etwa runc halten sich an diesen Standard Fur die Nutzer schafft dies Diversitat und es besteht keine grosse Abhangigkeit zum Unternehmen Docker Jeder kann auf Basis der Spezifikation eine Container Plattform entwickeln Es gibt daher bereits verschiedene Alternativen die nur leichte oder gar keine Anpassungen gegenuber einer Docker Umgebung erfordern 26 27 Red Hat Enterprise Linux 8 das 2019 erschienen ist enthalt Docker nicht mehr da Red Hat und andere Distributoren wie z B Suse sich wegen Problemen mit Docker Inc entschieden haben Docker durch podman zu ersetzen 28 Docker Enterprise wurde 2019 fur rund 35 Millionen Dollar an Mirantis verkauft Das Unternehmen gab darauffolgend bekannt dass der Support fur Docker Swarm nach zwei Jahren eingestellt werde 29 Dies wurde jedoch 2020 in einem Blogpost nach Diskussionen mit der Community zuruckgezogen und man versprach weiteren Support ohne Enddatum 30 Funktionen BearbeitenNeben der grundsatzlichen Funktionalitat Container mit virtuellen Betriebssystemen zu erstellen bietet Docker noch weitere Werkzeuge um die Arbeit mit Containern zu vereinfachen Docker Hub Bearbeiten Docker Hub ist ein Onlinedienst der eine Registry fur Docker Images und Repositories beinhaltet Die Registry teilt sich in einen offentlichen und einen privaten Teil auf Im offentlichen Teil kann jeder Nutzer seine selbst erstellten Images hochladen und damit anderen Nutzern zur Verfugung stellen Ausserdem gibt es mittlerweile offizielle Images z B von Linux Distributoren Im privaten Teil von Docker Hub konnen Benutzer ihre Docker Images hochladen und dadurch einfach z B firmenintern verteilen ohne dass diese damit offentlich auffindbar sind 31 Die Registry Software wurde von Docker Inc als Open Source Software veroffentlicht sodass man die Vorteile dieser nun auch nutzen kann ohne die eigenen Images auf die Server von Docker laden zu mussen 32 Mittels von Docker bereitgestellter APIs lassen sich Images auch automatisch aus Repositories von GitHub oder Bitbucket erstellen 33 Missbrauch von Docker Images Bearbeiten Im Sommer 2018 wurde bekannt dass es Unbekannten gelungen war Docker Container mit einer Hintertur zu versehen die es ihnen ermoglichte die Kryptowahrung Monero zu schurfen Die 17 infizierten Pakete wurden alle vom Benutzer docker123321 hochgeladen und insgesamt 5 Millionen Mal heruntergeladen Insgesamt wurden so von den Nutzern 58 000 Euro geschurft 34 Erste Meldungen von infizierten Images gab es bereits im Juli 2017 35 jedoch gab es von Seiten des Docker Hubs keine Reaktion und die Images wurden erst entfernt als die Sicherheitsfirma Kromtech einen Bericht dazu veroffentlichte 36 Im Sommer 2020 wurde ein weiterer Fall bekannt bei dem Unbekannte infizierte Pakete hochluden Diese wurden 2 Millionen Mal heruntergeladen und es wurden etwa 36 000 US Dollar der Kryptowahrung Monero geschurft 37 Datenleck Bearbeiten Wie am 27 April 2019 bekannt wurde sollen Unbekannte Zugriff auf eine interne Datenbank des Dockerhubs mit vertraulichen Informationen gehabt haben Betroffen seien rund 190 000 Konten Neben Usernamen und gehashten Passwortern waren unter den betroffenen Daten auch Github und Bitbucket Tokens fur Autobuilds diese seien bei betroffenen Usern zuruckgezogen worden 38 Versionsverwaltung Bearbeiten Docker bietet eine eingebaute Versionsverwaltung Diese erlaubt es den aktuellen Stand des Containers in ein Image zu sichern dieses auf das Docker Hub zu laden die Unterschiede zwischen dem aktuellen Zustand des Containers und dem ursprunglichen Image sowie die sehr grobe Historie eines Images anzuzeigen 39 Ein Image selbst wird in Schichten eingeteilt die als Layer bezeichnet werden Jeder Layer beschreibt einen Unterschied zu dem vorherigen Layer und zeigt so welche Programme oder Daten in dem Image hinzugefugt oder entfernt wurden 40 Die einzelnen Layer sind schreibgeschutzt und konnen nicht manipuliert werden Der Container selbst schreibt in einem Writeable Layer und ermoglicht es dass mehrere Container auf einem Image basieren und sich lediglich der Writeable Layer unterscheidet Auch wenn diese Versionsverwaltung von der Syntax her an Git angelehnt ist und auch mit diesem verglichen wird unterscheidet sie sich stark von ihrem Vorbild Sicherheitsaspekte BearbeitenDocker Container werden durch einen Daemon erzeugt der in der Vergangenheit zwingend root Rechte haben musste ab Version 19 03 41 unter bestimmten Umstanden aber auch unprivilegiert sein kann Lauft der Daemon mit root Rechten bedient man sich oft einer eigenen Nutzergruppe um auch unprivilegierten Nutzern die Erzeugung neuer Docker Container zu erlauben 42 Ein moglicher Fallstrick besteht darin dass alle unprivilegierten Nutzer die Mitglied einer solchen Nutzergruppe sind indirekt uber volle root Rechte auf dem Host System verfugen 43 44 Alternative Implementierungen wie z B Podman verzichten darauf und sind zu Docker kompatibel Dies wird durch die Open Container Initiative ermoglicht in der das Format zur Containervirtualisierung standardisiert wurde Da es sich um eine offene Spezifikation handelt kann prinzipiell jeder diese implementieren So sind verschiedene Alternativen zu Docker entstanden zu denen man vorhandene Images oder Container migrieren kann etwa containerd oder Podman Trotz Standardisierung gibt es kleinere Unterschiede etwa im Speicherort von Container und Images 45 Im Unterschied zu einer Virtuellen Maschine teilen sich Container und Host einen gemeinsamen Betriebssystem Kernel Dies verbessert einerseits die Leistung erheblich vergrossert andererseits aber auch das Risiko dass erfolgreiche Angriffe gegen den Kernel auch den Host kompromittieren Bei richtiger Konfiguration sind selbst root Rechte innerhalb eines Docker Containers nicht dazu geeignet um den Host anzugreifen Insbesondere sollte dazu ein neuer User Namespace erzeugt und der root Benutzer des Containers auf einen unprivilegierten Benutzer des Hosts abgebildet werden 46 Siehe auch BearbeitenListe von VirtualisierungsproduktenWeblinks BearbeitenOffizielle Website Renaissance der Container Virtualisierung mit Docker Einfuhrung Ubersicht Docker und Container Virtualisierung Docker Container Images Einfuhrung und PraxisbeispieleEinzelnachweise Bearbeiten Julia Schmidt Docker bekommt 15 Millionen Risikokapital heise online 23 Januar 2014 abgerufen am 13 Januar 2017 v24 0 6 5 September 2023 abgerufen am 5 September 2023 docs docker com abgerufen am 19 August 2016 docs docker com abgerufen am 19 August 2016 docs docker com abgerufen am 19 August 2016 thenewstack io abgerufen am 19 August 2016 github com LICENSE englisch What is Docker Abgerufen am 28 Februar 2017 englisch Docker Blog Docker 23 September 2021 abgerufen am 8 Oktober 2022 amerikanisches Englisch Install Docker Desktop on Windows Abgerufen am 13 Juni 2023 englisch Microsoft Hyper V Abgerufen am 30 Januar 2017 englisch A toolkit for embedding hypervisor capabilities in your application moby hyperkit Moby 8 November 2019 abgerufen am 8 November 2019 Oliver Frommel Docker unterstutzt SELinux In ADMIN Magazin Abgerufen am 8 Oktober 2022 Michael Unke Devops Trend Docker Container Linux Magazin 1 September 2014 abgerufen am 6 Februar 2018 About Us Docker Nicht mehr online verfugbar Docker Inc archiviert vom Original am 18 Juli 2014 abgerufen am 6 September 2014 Initial commit aluzzardi abgerufen am 24 August 2016 dotCloud Inc is becoming Docker Inc dotCloud Inc abgerufen am 6 September 2014 englisch Julia Schmidt Platform as a Service cloudControl ubernimmt dotCloud Geschaft von Docker Heise Zeitschriften Verlag GmbH amp Co KG 5 August 2014 abgerufen am 6 September 2014 Oliver Frommel Red Hat Enterprise Linux 7 veroffentlicht In ADMIN Magazin Abgerufen am 8 Oktober 2022 Docker Container fur Opensuse 13 1 verfugbar Abgerufen am 8 Oktober 2022 Oliver Frommel Kubernetes fur Docker Alle machen mit In ADMIN Magazin Abgerufen am 8 Oktober 2022 Service Name and Transport Protocol Port Number Registry Abgerufen am 8 Oktober 2022 Docker Blog Docker 23 September 2021 abgerufen am 8 Oktober 2022 amerikanisches Englisch Markus Heinemann 95 Millionen neue US Dollar fur Docker In ADMIN Magazin Abgerufen am 8 Oktober 2022 About the Open Container Initiative Open Container Initiative Abgerufen am 4 April 2023 Demystifying the Open Container Initiative OCI Specifications Docker 19 Juli 2017 abgerufen am 4 April 2023 amerikanisches Englisch Red Hat Enterprise Linux 8 freigegeben Mehr Flexibilitat bei Software Versionen Heise Zeitschriften Verlag GmbH amp Co KG 7 Juli 2019 abgerufen am 12 November 2019 heise online Container Docker verkauft Enterprise Geschaft und bekommt neuen CEO Abgerufen am 13 Februar 2020 Rick Pugh Mirantis will continue to support and develop Docker Swarm Abgerufen am 20 Marz 2023 englisch docs docker com registry hub docker com docs docker com 5 Millionen Mal heruntergeladen Bosartige Docker Container schurfen Monero 15 Juni 2018 abgerufen am 27 April 2019 dockmylife memorytest Report malicious image 1121 7 August 2017 abgerufen am 27 April 2019 englisch Cryptojacking invades cloud How modern containerization trend is exploited by attackers 12 Juni 2018 abgerufen am 27 April 2019 englisch Ashutosh Chitwadgi Rahul Rajewar Attackers Cryptojacking Docker Images to Mine for Monero In paloaltonetworks 25 Juni 2020 abgerufen am 28 Juni 2020 Docker Hub gehackt 190 000 Nutzerkonten betroffen 27 April 2019 abgerufen am 27 April 2019 What is Docker and when to use it CenturyLink Innovations Lab abgerufen am 28 Februar 2017 About images containers and storage drivers Docker Docs abgerufen am 8 Januar 2018 englisch Run the Docker daemon as a non root user Rootless mode 15 Oktober 2021 abgerufen am 20 Oktober 2021 englisch Post installation steps for Linux 15 Oktober 2021 abgerufen am 20 Oktober 2021 englisch Docker security 15 Oktober 2021 abgerufen am 20 Oktober 2021 englisch Docker Security In Linux Magazin Abgerufen am 20 Oktober 2021 Podman vs Docker wo liegt die Zukunft der Container Welt In IONOS Abgerufen am 5 Oktober 2022 Runtimes And the Curse of the Privileged Container brauner s blog 6 Dezember 2019 archiviert vom Original am 6 Dezember 2019 abgerufen am 8 Oktober 2022 Abgerufen von https de wikipedia org w index php title Docker Software amp oldid 237079147