


Gründe, warum die Datenbank nicht für Docker und Containerisierung geeignet ist
Es gibt mehrere Gründe, warum Datenbanken nicht für Docker und Containerisierung geeignet sind:
1. Daten sind nicht sicher
Auch wenn Sie möchten Wenn Docker Daten auf dem Host speichert, kann dennoch nicht garantiert werden, dass Daten nicht verloren gehen. Docker-Volumes sind rund um die Union FS-Image-Schicht konzipiert, um dauerhaften Speicher bereitzustellen, es fehlen jedoch noch Garantien.
Mit aktuellen Speichertreibern besteht immer noch die Gefahr, dass Docker unzuverlässig wird. Wenn der Container abstürzt und die Datenbank nicht ordnungsgemäß heruntergefahren wird, sind möglicherweise Daten beschädigt.
2. Umgebungsanforderungen für die Ausführung der Datenbank
Es kommt häufig vor, dass DBMS-Container und andere Dienste auf demselben Host ausgeführt werden. Allerdings sind die Hardwareanforderungen für diese Dienste sehr unterschiedlich.
Datenbanken (insbesondere relationale Datenbanken) haben höhere IO-Anforderungen. Normalerweise verwenden Datenbank-Engines dedizierte Umgebungen, um Konflikte um gleichzeitige Ressourcen zu vermeiden. Wenn Sie Ihre Datenbank in einen Container legen, verschwenden Sie die Ressourcen Ihres Projekts. Weil Sie für diese Instanz viele zusätzliche Ressourcen konfigurieren müssen. Wenn Sie in der öffentlichen Cloud 34 GB Speicher benötigen, muss die von Ihnen gestartete Instanz über 64 GB Speicher verfügen. In der Praxis werden diese Ressourcen nicht vollständig genutzt.
Wie kann man es lösen? Sie können in Ebenen entwerfen und feste Ressourcen verwenden, um mehrere Instanzen auf verschiedenen Ebenen zu starten. Eine horizontale Skalierung ist immer besser als eine vertikale Skalierung.
3. Netzwerkprobleme
Um Docker-Netzwerke zu verstehen, müssen Sie über ein tiefgreifendes Verständnis der Netzwerkvirtualisierung verfügen. Sie müssen auch auf das Unerwartete vorbereitet sein. Möglicherweise müssen Sie Fehlerbehebungen ohne Support oder zusätzliche Tools durchführen.
4. Zustand
Es ist cool, zustandslose Dienste in Docker zu packen, die Container orchestrieren und einzelne Fehlerquellen beheben können. Aber was ist mit der Datenbank? Indem die Datenbank in derselben Umgebung platziert wird, ist sie zustandsbehaftet und erhöht das Risiko für Systemausfälle. Wenn Ihre Anwendungsinstanz oder Anwendung das nächste Mal abstürzt, kann dies Auswirkungen auf die Datenbank haben.
5. Zusätzliche Isolation ist schädlich für die Datenbank
Tatsächlich habe ich dies im zweiten und dritten Grund erwähnt. Ich führe dies aber als gesonderten Grund auf, weil ich diesen Umstand noch einmal betonen möchte. Je mehr Isolationsstufen wir haben, desto mehr Ressourcenaufwand entsteht. Durch die einfache horizontale Skalierung können wir mehr Vorteile erzielen als mit einer dedizierten Umgebung. Allerdings kann die horizontale Skalierung in Docker nur für zustandslose Computing-Dienste verwendet werden, nicht für Datenbanken.
Wir sehen keine Isolationsfunktion für die Datenbank. Warum sollten wir sie also in einen Container legen?
Empfohlenes Tutorial: Docker-Tutorial
Das obige ist der detaillierte Inhalt vonGründe, warum die Datenbank nicht für Docker und Containerisierung geeignet ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

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



Um die Docker -Version zu erhalten, können Sie die folgenden Schritte ausführen: Führen Sie den Befehl Docker "Docker --version" aus, um die Client- und Serverversionen anzuzeigen. Für Mac oder Windows können Sie auch Versionsinformationen über die Registerkarte Version der Docker -Desktop -GUI oder das Menü Docker Desktop anzeigen.

Schritte zum Erstellen eines Docker -Images: Schreiben Sie eine Dockerfile, die die Build -Anweisungen enthält. Erstellen Sie das Bild im Terminal mit dem Befehl Docker Build. Markieren Sie das Bild und weisen Sie Namen und Tags mit dem Befehl Docker Tag zu.

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).

Zu den Methoden zum Anzeigen von Docker -Protokollen gehören: Verwenden des Befehls docker Protokolle, z. cat /var/log/container_name.log Verwenden Sie den Befehl docker-compose-Protokolle von Docker Compose, zum Beispiel: Docker-compose -f Docker-com

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").

Sie können zur Quelle der Inlandsspiegel wechseln. Die Schritte sind wie folgt: 1. Bearbeiten Sie die Konfigurationsdatei /etc/docker/daemon.json und fügen Sie die Spiegelquellenadresse hinzu; 2. Starten Sie den Docker Service Sudo SystemCtl Docker neu, um die Download -Geschwindigkeit und -stabilität des Bilddownloads zu verbessern.

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).

Startschritte des Docker -Containers: Ziehen Sie das Containerbild: Führen Sie "Docker Pull [Mirror Name]" aus. Erstellen eines Containers: Verwenden Sie "Docker erstellen [Optionen] [Spiegelname] [Befehle und Parameter]". Starten Sie den Container: Führen Sie "Docker Start [Container Name oder ID]" aus. Containerstatus überprüfen: Stellen Sie sicher, dass der Container mit "Docker PS" ausgeführt wird.
