Inhaltsunabhängigkeit bedeutet: Das Programm kann unabhängig von der Sprache im Container ausgeführt werden und jede Nutzlast und ihre Abhängigkeiten kapseln. In Docker kann die Standardoperation des Containers unabhängig vom konkreten Containerinhalt den gleichen Effekt erzeugen; der Container kann beispielsweise auf die gleiche Weise hochgeladen und gestartet werden, unabhängig davon, ob es sich um eine PHP-Anwendung oder einen MySQL-Datenbankdienst handelt .
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Docker20-Version, Dell G3-Computer.
Was ist Docker?
Docker ist eine Open-Source-Anwendungscontainer-Engine, die auf Basis der Go-Sprache entwickelt wurde und der Open-Source-Vereinbarung Apache2.0 entspricht. Mithilfe von Docker können Entwickler ihre Anwendungen und Abhängigkeitspakete in einen tragbaren Container packen und sie dann auf jeder Linux-Maschine veröffentlichen, die auch virtualisiert werden kann. Docker-Container nutzen vollständig den Sandbox-Mechanismus und haben keine Schnittstellen untereinander, was die Sicherheit zwischen Containern gewährleistet.
Docker wurde Anfang 2013 geboren und verfügt derzeit über zwei Versionen: Community Edition (CE, Community Edition) und Enterprise Edition (EE, Enterprise Edition). Darunter ist die Docker Community Edition kostenlos und Open Source, was eine ideale Wahl für Einzelpersonen und kleine Teams ist; die Docker Enterprise Edition wird speziell für Unternehmen und große IT-Teams für kommerzielle Anwendungen mit strengeren Anforderungen bereitgestellt.
Hauptfunktionsmerkmale von Docker
Inhaltsunabhängig
Programme können in Containern ohne Unterscheidung von Sprachen ausgeführt werden und können jede Nutzlast und ihre Abhängigkeiten kapseln.
Unabhängig vom spezifischen Containerinhalt kann die Container-Standardoperation nach der Ausführung den gleichen Effekt erzielen. Beispielsweise können Container auf die gleiche Weise hochgeladen und gestartet werden, egal ob es sich um eine PHP-Anwendung oder einen MySQL-Datenbankdienst handelt.
Hardware-Agnostiker
Verwenden Sie Betriebssystemprimitive (zum Beispiel: LXC), um auf fast jeder Plattform zu laufen – virtuelle Maschine, Bare Metal, OpenStack, öffentliches IaaS usw., ohne den Inhalt zu ändern
Isolation und Interaktion
Ressourcen-, Netzwerk- und Inhaltsisolation, Abhängigkeitshölle vermeiden
Automatisierung
Es gibt Standardvorgänge zum Ausführen, Starten, Stoppen, Senden, Suchen usw., die sich sehr gut für Entwickler eignen: CI, CD, automatische Erweiterung, Hybrid Cloud
Effizient
Leichtgewichtig, praktisch ohne Vorurteile und Startstrafen, ermöglicht schnelle Bewegungen und Abläufe
Aufteilung der Aufgabenbereiche
Entwickler kümmern sich um Code, Betriebe kümmern sich um die Infrastruktur
Weitere technische Merkmale:
Dateisystemisolation: Jeder Prozesscontainer wird in einem völlig unabhängigen Root-Dateisystem ausgeführt.
Ressourcenisolation: Systemressourcen wie CPU, Speicher usw. werden mithilfe von cgroups im Prozesscontainer zugewiesen ;
Netzwerkisolation: Jeder Prozesscontainer verfügt über eine eigene virtuelle Schnittstelle und IP-Adresse und wird in seinem eigenen Netzwerkbereich ausgeführt.
Kopieren beim Schreiben: Erstellen Sie das Root-Dateisystem, indem Sie es kopieren Die Bereitstellungsgeschwindigkeit ist extrem hoch und der Arbeitsspeicher und der Festplattenspeicher sind sehr klein.
Protokoll: Docker erfasst und zeichnet den Standard-Stream (stdout/stderr/stdin) jedes Prozesscontainers für den Echtzeitabruf oder den Stapelabruf auf ;
Änderungsverwaltung: Änderungen am Container-Dateisystem können an ein neues Image (Image) übermittelt und zur Erstellung weiterer Container wiederverwendet werden. Keine Notwendigkeit, Vorlagen oder manuelle Konfiguration zu verwenden;
Interaktive Shell: Docker kann ein virtuelles Terminal zuweisen und es der Standardeingabe eines beliebigen Containers zuordnen, beispielsweise zum Ausführen einer einmaligen interaktiven Shell.
Docker wird normalerweise in den folgenden Szenarien verwendet:
Automatisiertes Packen und Freigeben von Webanwendungen; orientierte Umgebungen;
Kompilieren Sie die vorhandene OpenShift- oder Cloud Foundry-Plattform von Grund auf, um Ihre eigene PaaS-Umgebung aufzubauen.
Empfohlenes Lernen: „
Docker-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas bedeutet Inhaltsunabhängigkeit in Docker?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!