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

VUE führt die Implementierung der Verwendung von G2-Diagrammen ein

Inhaltsverzeichnis Über G2 Chart verwenden Vollst...

Beispielerklärung für langsame MySQL-Abfragen und -Protokolle

1. Einleitung Durch Aktivieren des Slow Query Log...

Grundlegendes Nutzungs-Tutorial zur IPTABLES-Firewall unter LINUX

Vorwort Für Produktions-VPS mit öffentlicher IP w...

Detaillierte Analyse der MySQL Master-Slave-Replikation

Vorwort: In MySQL sollte die Master-Slave-Archite...

Implementierungscode für die adaptive IFrame-Größe

Seitendomänenbeziehung: Die Hauptseite a.html gehö...

So deaktivieren Sie die Klartextanzeige und die Schnelllöschfunktion von IE10

IE10 bietet eine Schaltfläche zum schnellen Lösche...

Warum sollten MySQL-Felder NOT NULL verwenden?

Ich habe vor Kurzem in einer neuen Firma angefang...

Detaillierte Erläuterung des Datenreaktionsprinzips von Vue

Dieser Artikel richtet sich hauptsächlich an diej...

So installieren Sie Nginx in CentOS7

Installieren Sie die erforderliche Umgebung 1. gc...

Haben Sie die MySQL-Verbindungsabfrage wirklich gelernt?

1. Übersicht über Inner Join-Abfragen Der Inner J...

js zur Realisierung einer einfachen Warenkorbfunktion

In diesem Artikelbeispiel wird der spezifische Co...