Eine kurze Analyse des Problems, dass MySQL bei der Bereitstellung mit Docker-Compose nicht zugänglich ist

Eine kurze Analyse des Problems, dass MySQL bei der Bereitstellung mit Docker-Compose nicht zugänglich ist

Was ist Docker-Compose

Das Compose-Projekt entstand aus dem vorherigen Fig-Projekt. Es ist in Python geschrieben und weist eine hohe Kompatibilität mit Docker/Swarm auf. Compose ist ein Tool zum Orchestrieren von Docker-Containern. Es definiert und führt Multi-Container-Anwendungen aus. Mehrere Container können mit einem Befehl gestartet werden. Mit Docker Compose müssen Sie zum Starten von Containern keine Shell-Skripte mehr verwenden. Compose verwaltet mehrere Docker-Container über eine Konfigurationsdatei. In der Konfigurationsdatei werden alle Container über Dienste definiert. Anschließend wird das Docker-Compose-Skript verwendet, um die Anwendung, die Dienste in der Anwendung und die Container aller abhängigen Dienste zu starten, zu stoppen und neu zu starten. Es eignet sich sehr gut für Szenarien, in denen mehrere Container für die Entwicklung kombiniert werden. Die Standardvorlagendatei für Docker-Compose ist docker-compose.yml, in der jeder definierte Dienst automatisch erstellt werden muss, indem ein Image über die Image-Anweisung oder die Build-Anweisung angegeben wird (Dockerfile ist erforderlich).

Die Verwendung von Compose umfasst grundsätzlich die folgenden drei Schritte:

1. Definieren Sie Ihre Anwendungsumgebung in einer Docker-Datei, damit sie überall repliziert werden kann.
2. Definieren Sie die Dienste, aus denen Ihre Anwendung besteht, in docker-compose.yml, damit sie zusammen in einer isolierten Umgebung ausgeführt werden können.
3. Führen Sie abschließend docker-compose up aus. Compose startet und führt die gesamte Anwendung aus.

Sehen wir uns das Problem an, dass bei der Bereitstellung durch Docker-Compose nicht auf MySQL zugegriffen werden kann.

Dieses Problem bereitet mir schon lange Probleme. Nachdem ich docker-compose zum Bereitstellen von MySQL verwendet habe, kann nach dem Erstellen des Containers mit mysql -u root -p darauf zugegriffen werden, aber es kann keine Verbindung mit dem SQL-Client hergestellt werden. Ich habe also bei Google nach vielen Informationen gesucht und schließlich festgestellt, dass das Hinzufügen command: --default-authentication-plugin=mysql_native_password dieses Problem lösen kann. Es hängt immer noch mit der Kennwortverschlüsselungsmethode zusammen.

Version: "3.3"
Leistungen:
 Redis:
 Bild: sameersbn/redis:latest
 Häfen:
  - „6379:6379“
 Bände:
  – redis_data:/var/lib/redis
 Neustart: immer
 MySQL:
  Bild: mysql:latest
  Neustart: immer
  Befehl: --default-authentication-plugin=mysql_native_password #Diese Codezeile löst das Problem nicht zugänglicher Netzwerke:
   -Entwickler
  Häfen:
   - „3306:3306“
  Umfeld:
   MYSQL_ROOT_PASSWORD: abc123
   MYSQL_USER: "Test"
   MYSQL_PASS: "Test"
  Bände:
   -mysql_data:/var/lib/mysql
Netzwerke:
 Entwickler:
  Treiber: Brücke
Bände:
 redis_daten:
 mysql_daten:

Zusammenfassen

Oben habe ich Ihnen das Problem der unzugänglichen MySQL-Bereitstellung mit Docker-Compose vorgestellt. Ich hoffe, es wird Ihnen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • Erläutern Sie die Bereitstellung und Konfiguration des Clickhouse Docker-Clusters anhand von Beispielen.
  • Detaillierte Erläuterung des Beispiels eines PHP-Projekts zur Docker-Compose-Bereitstellung
  • Docker-Compose - Bereitstellung der chinesischen Gitlab-Version per Mausklick - Methodenschritte
  • So stellen Sie Gitlab mit Docker-Compose bereit
  • Tutorial zum schnellen Bereitstellen von Clickhouse mit Docker-Compose

<<:  Basierend auf Vue-Simple-Uploader, kapselt die globale Upload-Plug-In-Funktion des Dateisegment-Uploads, des sofortigen Uploads und der Breakpoint-Fortsetzung

>>:  Anweisungen zum Wiederherstellen von Daten nach versehentlichem Löschen einer MySQL-Datenbank

Artikel empfehlen

Detaillierte Erklärung der CocosCreator MVC-Architektur

Überblick Dieser Artikel stellt die in Spieleclie...

Einige Tipps zur Beschleunigung der Entwicklung von WeChat-Miniprogrammen

1. Erstellen Sie eine Seite mit app.json Gemäß un...

Javascript-Grundlagen zu integrierten Objekten

Inhaltsverzeichnis 1. Einführung in integrierte O...

So leiten Sie eine PC-Adresse in Vue an eine Mobiladresse um

Anforderungen: Die PC-Seite und die mobile Seite ...

Die benutzerdefinierte Vue-Komponente implementiert eine bidirektionale Bindung

Szenario: Die von uns häufig verwendeten Interakt...

MySQL5.6.31 winx64.zip Installations- und Konfigurationstutorial

#1. Herunterladen # #2. Entpacken Sie die Datei l...

So implementieren Sie eine einfache Datenüberwachung mit JS

Inhaltsverzeichnis Überblick erster Schritt Schri...

Fallstudie zu JavaScript-Funktionsaufrufen, Apply- und Bind-Methoden

Zusammenfassen 1. Ähnlichkeiten Beide können den ...

HTML 5 Stylesheet zurücksetzen

Dieser CSS-Reset basiert auf dem CSS-Reset von Eri...

So verwenden Sie den Linux-Befehl „locate“

01. Befehlsübersicht Der Befehl „locate“ ist eige...

Lösen Sie das Problem des Syn Flooding in der MySQL-Datenbank

Der SYN-Angriff ist die häufigste und am leichtes...