


Was genau ist Docker und warum ist es so beliebt? Welche Vor- und Nachteile hat es?
Was ist Docker?
Um es einfach auszudrücken: Docker ist ein „Container“ (Linux-Container, LXCs), der von einem in der GO-Sprache geschriebenen Programm ausgeführt wird. Der Grundstein aktueller Cloud-Dienste ist die Isolierung auf Betriebssystemebene auf demselben physischen Server Virtualisieren Sie mehrere Hosts. Docker implementiert eine Isolation auf Anwendungsebene; es verändert unsere grundlegende Entwicklungs- und Betriebseinheit vom direkten Betrieb des virtuellen Hosts (VM) zu einem „Container“, in dem das Betriebssystem ausgeführt wird.
Docker ist eine offene Plattform, die für Entwickler und Systemadministratoren entwickelt wurde, um verteilte Anwendungen zu veröffentlichen und auszuführen. Besteht aus zwei Teilen:
Docker Engine: eine tragbare, leichte Laufzeitumgebung und ein Paketmanager. (Hinweis* Single OS vs. Single Thread, ist es NodeJS besonders ähnlich?)
Docker Hub: Ein Cloud-Dienst, der zum Erstellen automatisierter Workflows und zum Teilen von Anwendungen erstellt wurde. (Hinweis* Cloud-Image-/Paketverwaltung vs. npm-Paketverwaltung, ist es npm sehr ähnlich?)
Vom 20. März 2013 wurde die erste Version von Docker offiziell veröffentlicht, bis Juni 2014, Docker 1.0 Es dauerte 15 Es dauerte Monate, bis es offiziell veröffentlicht wurde. Obwohl seine Entwicklungsgeschichte noch sehr kurz ist, erfreut sich Docker immer größerer Beliebtheit.
Tatsächlich ist die Container-Technologie keine Innovation von Docker. Cloud-Dienstleister wie HeroKu und NodeJitsu haben eine ähnliche, leichtgewichtige Virtualisierungstechnologie eingeführt, aber Docker ist der erste, der diese Container-Technologie in großem Umfang offenlegt von der Community akzeptiert.
Der gute Teil
Die Vorteile von Docker gegenüber virtuellen VM-Maschinen liegen auf der Hand, nämlich geringes Gewicht, hohe Leistung und Komfort. Die folgenden Teile sind auszugsweise aufgeführt: KVM- und Docker-LXC-Benchmarking mit OpenStack
Schnell
Die Laufzeitleistung kann erheblich verbessert werden (ein klassischer Fall ist eine Verbesserung von 97%)
Verwaltungsvorgänge (Starten, Stoppen, Start, Neustart usw.) werden in Sekunden oder Millisekunden gemessen.
Agil
So agil wie eine virtuelle Maschine und kostengünstiger ist die Bereitstellung auf Bare-Metal so einfach wie ein Klick.
Flexibel
Anwendungen und Systeme „containerisieren“, ohne zusätzliche Betriebssysteme hinzuzufügen,
Leichtgewichtig
Sie verfügen über genügend „Betriebs“-Systeme, einfach hinzufügen oder den Spiegel verkleinern. Auf einem Server können 100 bis 1000 Container bereitgestellt werden.
Günstig
Open Source, kostenlos und kostengünstig. Unterstützt und angetrieben vom modernen Linux-Kernel. Hinweis* Lightweight Container kann sicherlich mehr „Container“ auf einer physischen Maschine öffnen und ist voraussichtlich günstiger als VMs.
Ökosysteme
werden immer beliebter, schauen Sie sich einfach Google Trends, Docker oder LXC an.
und es gibt unzählige Communities und Drittanbieteranwendungen.
Cloud-Unterstützung
Unzählige Cloud-Dienste stellen Frameworks für die Erstellung und Verwaltung von Linux-Containern bereit.
Bezüglich der Leistungsvorteile von Docker können Sie sich auch auf die Bewertung der Leistungsverbesserung durch diesen IBM-Ingenieur beziehen. Es ist in allen Aspekten deutlich besser als VMs (OS-System-Level-Virtualisierung).
Leistungsmerkmale von VMs vs. Docker-Containern von Boden Russel (IBM)
Leistungsmerkmale traditioneller V-MS vs. Docker-Container
Umstrittene Teile
Das wird es In jedem Projekt kann es zu Kontroversen kommen, genau wie bei Go, NodeJS und auch bei Docker.
Kann es vollständig isoliert werden?
Kann ein einzelnes Betriebssystem eine vollständige Isolation erreichen? oder das gesamte System? Viele Menschen sind immer noch skeptisch, ob Docker geschäftskritische Systeme in einer tatsächlichen Multi-Host-Produktionsumgebung unterstützen kann. Hinweis* Genau wie einige Leute bezweifeln, dass ein Node.JS-Einzelthread schnell und instabil ist und nicht in komplexen Szenarien angewendet werden kann.
Aber die gute Nachricht ist, dass der Linux-Kernel viele Verbesserungen an Container vorgenommen hat, um eine bessere Isolierung zu unterstützen.
Die GO-Sprache ist noch nicht vollständig ausgereift
Docker wird von der Go-Sprache entwickelt, aber die GO-Sprache ist den meisten Entwicklern relativ unbekannt und es wird noch einige Zeit dauern, bis sie verbessert wird Reife. Dieser Verwaltungsansatz, der halb Git, halb Paket ist, bereitet manchen Menschen Unbehagen.
Kontrolliert von einem privaten Unternehmen
Docker wurde von einem privaten Unternehmen namens Dotcloud entwickelt. Die Unternehmen sind alle auf Gewinn ausgerichtet. Sie können beispielsweise den Quellcode nicht zum Kompilieren des Docker-Projekts verwenden Kann nur verwendet werden Das von Black Box zusammengestellte Docker-Binärverteilungspaket ist in Zukunft möglicherweise nicht mehr völlig kostenlos. Derzeit hat Docker Dienste auf Unternehmensebene (Beratung, Support und Schulung) für Unternehmen eingeführt.

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen





Die Schritte zur Aktualisierung eines Docker -Images sind wie folgt: Ziehen Sie das neueste Bild -Tag. Neues Bild Löschen Sie das alte Bild für ein bestimmtes Tag (optional) den Container neu (falls erforderlich) neu starten Sie neu (falls erforderlich).

Vier Möglichkeiten zum Beenden von Docker Container: Verwenden Sie Strg D im Befehl Container Terminal ENGEBOT IM Container Terminal verwenden Sie Docker Stop & lt; container_name & gt; Befehl verwenden Sie Docker Kill & lt; container_name & gt; Befehl im Host -Terminal (Force Exit)

Methoden zum Kopieren von Dateien in externen Hosts in Docker: Verwenden Sie den Befehl Docker CP: Docker CP [Optionen] & lt; Containerpfad & gt; & lt; Host -Pfad & gt;. Verwenden von Datenvolumina: Erstellen Sie ein Verzeichnis auf dem Host und verwenden Sie den Parameter -V, um das Verzeichnis in den Container zu montieren, um den Container zu erstellen, um eine bidirektionale Dateisynchronisation zu erreichen.

So starten Sie den Docker -Container neu: Holen Sie sich die Container -ID (Docker PS); Stop den Container (Docker Stop & lt; Container_id & gt;); Starten Sie den Container (Docker start & lt; container_id & gt;); Stellen Sie sicher, dass der Neustart erfolgreich ist (Docker PS). Andere Methoden: Docker Compose (Docker-Compose Neustart) oder Docker-API (siehe Docker-Dokumentation).

Sie können den Namen des Docker -Containers abfragen, indem Sie den Schritten folgen: Alle Container auflisten (Docker PS). Filtern Sie die Containerliste (unter Verwendung des GREP -Befehls). Ruft den Containernamen ab (befindet sich in der Spalte "Namen").

Wie benutze ich Docker Desktop? Docker Desktop ist ein Werkzeug zum Ausführen von Docker -Containern auf lokalen Maschinen. Zu den zu verwendenden Schritten gehören: 1.. Docker Desktop installieren; 2. Start Docker Desktop; 3.. Erstellen Sie das Docker -Bild (mit Dockerfile); 4. Build Docker Image (mit Docker Build); 5. Docker -Container ausführen (mit Docker Run).

Docker Process Viewing -Methode: 1. Docker Cli -Befehl: Docker PS; 2. SYSTEMD CLI -Befehl: SystemCTL Status Docker; 3.. Docker Compose CLI Command: Docker-Compose PS; 4. Process Explorer (Windows); 5. /proc -Verzeichnis (Linux).

Der Prozess des Startens von MySQL in Docker besteht aus den folgenden Schritten: Ziehen Sie das MySQL -Image zum Erstellen und Starten des Containers an, setzen
