Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Wofür kann Docker verwendet werden?

Wofür kann Docker verwendet werden?

藏色散人
藏色散人Original
2021-11-22 16:46:4892990Durchsuche

Docker kann für Folgendes verwendet werden: 1. Sie können schnell eine Entwicklungsumgebung erstellen. 2. Sie können die laufende Umgebung und Konfiguration in den Code einfügen und 3. Sie können Docker-Compose verwenden, um die Produktion zu simulieren Umgebung; 4. Automatisch testen; 5. Docker-Images für die Selbstbereitstellung usw. verwenden.

Wofür kann Docker verwendet werden?

Die Betriebsumgebung dieses Artikels: Linux5.9.8-System, Docker-1.13.1-Version, Dell G3-Computer.

Wofür kann Docker verwendet werden?

Docker ist eine Open-Source-Anwendungscontainer-Engine, die es Entwicklern ermöglicht, ihre Anwendungen und Abhängigkeitspakete in ein tragbares Image zu packen und es dann auf jedem gängigen Linux- oder Windows-Betriebssystemcomputer zu veröffentlichen, und kann auch Virtualisierungsänderungen implementieren. Container nutzen vollständig den Sandbox-Mechanismus und haben keine Schnittstellen untereinander.

Warum Docker verwenden?

Als aufstrebende Virtualisierungsmethode bietet Docker viele Vorteile im Vergleich zu herkömmlichen Virtualisierungsmethoden.

Zuallererst können Docker-Container in Sekundenschnelle gestartet werden, was viel schneller ist als herkömmliche Methoden für virtuelle Maschinen. Zweitens weist Docker eine hohe Auslastung der Systemressourcen auf. Tausende von Docker-Containern können gleichzeitig auf einem Host ausgeführt werden.

Zusätzlich zum Ausführen der darin enthaltenen Anwendung verbraucht der Container grundsätzlich keine zusätzlichen Systemressourcen, wodurch die Anwendungsleistung sehr hoch und der Systemaufwand so gering wie möglich ist. Die herkömmliche Methode der virtuellen Maschine erfordert 10 virtuelle Maschinen, um 10 verschiedene Anwendungen auszuführen, während Docker nur 10 isolierte Anwendungen starten muss.

Insbesondere hat Docker in den folgenden Aspekten große Vorteile.

  • Schnellere Lieferung und Bereitstellung

Für Entwicklungs-, Betriebs- und Wartungspersonal (Entwickler) besteht die größte Hoffnung darin, einmal etwas zu erstellen oder zu konfigurieren und überall normal auszuführen.

Entwickler können ein Standard-Image verwenden, um eine Reihe von Entwicklungscontainern zu erstellen. Nach Abschluss der Entwicklung kann das Betriebs- und Wartungspersonal diesen Container direkt zum Bereitstellen von Code verwenden. Docker kann schnell Container erstellen, Anwendungen schnell iterieren und den gesamten Prozess sichtbar machen, sodass andere Mitglieder des Teams leichter verstehen können, wie die Anwendung erstellt wird und funktioniert. Docker-Container sind leicht und schnell! Die Startzeit des Containers beträgt Sekunden, was viel Zeit bei Entwicklung, Test und Bereitstellung spart.

  • Effizientere Virtualisierung

Für die Ausführung von Docker-Containern ist keine zusätzliche Hypervisor-Unterstützung erforderlich. Es handelt sich um eine Virtualisierung auf Kernel-Ebene, sodass eine höhere Leistung und Effizienz erzielt werden kann.

  • Einfachere Migration und Erweiterung

Docker-Container können auf fast jeder Plattform ausgeführt werden, einschließlich physischen Maschinen, virtuellen Maschinen, öffentlichen Clouds, privaten Clouds, Personalcomputern, Servern usw. Diese Kompatibilität ermöglicht es Benutzern, eine Anwendung direkt von einer Plattform auf eine andere zu migrieren.

  • Einfachere Verwaltung

Mit Docker sind nur kleine Änderungen erforderlich, um einen großen Aktualisierungsaufwand in der Vergangenheit zu ersetzen. Alle Änderungen werden schrittweise verteilt und aktualisiert, was eine automatisierte und effiziente Verwaltung ermöglicht.

Neun gängige Anwendungsszenarien von Docker

1. Lokale Abhängigkeit

Müssen Sie Magento schnell auf Ihrem lokalen System ausprobieren oder MySQL für ein Projekt verwenden? Oder möchten Sie die meisten Open-Source-Projekte ausprobieren? Dann verwenden Sie Docker, das spart Ihnen viel Zeit. Docker kann die Entwicklungseffizienz von Entwicklern verbessern und es uns ermöglichen, schnell eine Entwicklungsumgebung aufzubauen.

Maschinen in der Entwicklungsumgebung verfügen normalerweise über relativ wenig Speicher. Bei der Verwendung von Virtualisierung war es zuvor häufig erforderlich, der Maschine in der Entwicklungsumgebung Speicher hinzuzufügen, sodass Dutzende von Diensten problemlos in Docker ausgeführt werden können.

2. Umgebung erstellen

Wenn Sie den Quellcode erstellen möchten, aber feststellen, dass die entsprechende Umgebung nicht vorbereitet ist. Dann ist der Einsatz von Docker eine erwägenswerte Lösung. Wenn Sie die Software einzeln mit der herkömmlichen Methode installieren, ist die Installation einer großen Anzahl von Software schließlich sehr zeitaufwändig. Die Verwendung der Container-Technologie spart Zeit und Aufwand. Warum nicht?

Es ermöglicht Ihnen, die laufende Umgebung und Konfiguration in den Code einzufügen und ihn dann bereitzustellen. Dieselbe Docker-Konfiguration kann in verschiedenen Umgebungen verwendet werden, wodurch die Kopplung zwischen Hardwareanforderungen und Anwendungsumgebung verringert wird. Hier ist ein sehenswertes Beispiel: Docker Golang Builder.

3. Microservices

Verwenden Sie Microservices? Microservices-Architektur – Aufteilung einer monolithischen Anwendung in lose gekoppelte Einzeldienste.

Dann ziehen Sie Docker in Betracht. Sie können jeden Dienst als Docker-Image verpacken und Docker-Compose verwenden, um die Produktionsumgebung zu simulieren (Docker-Netzwerke auschecken). Am Anfang mag es zeitaufwändig und mühsam sein, aber auf lange Sicht wird es letztendlich zu einer enormen Produktivität führen.

4. Automatisierte Tests

Stellen Sie sich die Frage vor, wie man automatisierte Integrationstestfälle schreibt, deren Ausführung nicht lange dauert und die von Benutzern einfach verwaltet werden können.

Das bedeutet nicht, Testfälle in Docker auszuführen, sondern Testfälle eng mit dem Image auszuführen. Es gibt einen großen Vorteil, wenn Sie Testfälle für ein Docker-Image schreiben. Hier ist eine kurze Einführung in meinen Testprozess: Führen Sie zwei Docker-Images (App + DB) aus, laden Sie Daten, wenn MySQL startet, und verwenden Sie die API im App-Docker.

5. Bereitstellungsprozess

Sie können Docker-Images für die Selbstbereitstellung verwenden. Viele große Hosting-Anbieter unterstützen gehosteten Docker, und wenn Sie einen dedizierten Knoten/VM mit Shell-Zugriff haben, wird es einfacher. Richten Sie einfach Docker ein und führen Sie Ihr Image auf dem gewünschten Port aus.

6. Kontinuierliche Bereitstellung

Es wird gesagt, dass Docker von Natur aus für die kontinuierliche Integration/kontinuierliche Bereitstellung geeignet ist. Durch die Verwendung von Docker wird die kontinuierliche Bereitstellung sehr einfach und beginnt erneut, nachdem ein neues Image eingegeben wurde.

Was die Automatisierung dieses Teils betrifft, gibt es mittlerweile viele Lösungen zur Auswahl, und Kubernetes ist ein bekannter Name. Kubernetes ist ein Container-Cluster-Verwaltungssystem. Es handelt sich um eine Open-Source-Plattform, die die automatische Bereitstellung, automatische Erweiterung und Kontraktion, Wartung und andere Funktionen von Container-Clustern realisieren kann.

7. Multi-Tenant-Umgebung (Multi-Tenancy)

Ein interessantes Nutzungsszenario von Docker sind Multi-Tenant-Anwendungen, wodurch das Umschreiben wichtiger Anwendungen vermieden werden kann. Wenn Sie Anwendungsdienste mehreren Mandanten zur Verfügung stellen (ein Mandant ist eine Gruppe von Benutzern, z. B. eine Organisation), können Anwendungen, die mit einer Einzelmandantenlösung entwickelt wurden, schnell mehrmandantenfähige Dienste erhalten, wenn sie Subdomäne + Docker verwenden.

Ein Beispiel für dieses Szenario ist die Entwicklung einer schnellen und benutzerfreundlichen mandantenfähigen Umgebung für IoT-Anwendungen. Der grundlegende Code dieser Art von Mandantenfähigkeit ist sehr komplex und schwierig zu handhaben. Die Neuplanung einer solchen Anwendung kostet nicht nur Zeit, sondern verschwendet auch Geld. Mit Docker können Sie isolierte Umgebungen für mehrere Instanzen der Anwendungsschicht jedes Mandanten erstellen, was nicht nur einfach, sondern auch kostengünstig ist. Dies alles profitiert natürlich von der Startgeschwindigkeit der Docker-Umgebung und ihrem effizienten Diff-Befehl.

8. Mehrere Apps auf einer Maschine

Dies hängt in gewisser Weise mit den oben genannten Mikrodiensten zusammen, aber selbst wenn Sie keine Mikrodienste verwenden und nur Dienste bereitstellen, kann Docker dennoch alle Dienste auf einer einzigen Maschine verwalten. Sie sollten Ordner-Mounts verwenden, um Daten für jedes datenbasierte Docker-Image beizubehalten.

9. QPS skalieren (QPS skalieren)

Docker hilft Ihnen, einfach horizontal zu expandieren, indem Sie einen weiteren Container erstellen. Wenn Sie auf großen Spitzenverkehr stoßen, kann Docker Ihnen bei der Lösung des Problems helfen – fügen Sie einfach weitere Maschinen hinzu und erhöhen Sie die Anzahl der Container, die hinter dem Load Balancer ausgeführt werden.

Gibt es Anwendungsszenarien für Docker, die im Artikel nicht erwähnt werden? Sie können ihn gerne mit allen teilen~

Dieser Artikel wurde ursprünglich auf oschina veröffentlicht. Der Inhalt des Artikels ist die persönliche Meinung des Autors und gibt nicht die Position dieser Website wieder.

Empfohlenes Lernen: „Docker-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWofür kann Docker verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn