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    

Artikel empfehlen

MySQL 8.0.13 Download- und Installations-Tutorial mit Bildern und Text

MySQL ist die am häufigsten verwendete Datenbank....

Einführung in die Verwendung von exists und except in SQL Server

Inhaltsverzeichnis 1. existiert 1.1 Beschreibung ...

Welche Vorteile bietet die Verwendung eines B+-Baums als Indexstruktur in MySQL?

Vorwort In MySQL verwenden sowohl Innodb als auch...

Methoden und Techniken zum schnellen Anzeigen von Webseitenbildern

1. Verwenden Sie .gifs statt .jpgs. GIFs sind im ...

Spezifische Verwendung von Bootstrap5-Haltepunkten und Containern

Inhaltsverzeichnis 1. Bootstrap5-Haltepunkte 1.1 ...

Eine schnelle Lösung für das Problem der PC- und Mobilanpassung

Beim Erstellen einer Webseite müssen wir normaler...

Beispiel für die Verwendung von JS, um zu bestimmen, ob ein Element ein Array ist

Hier sind die Arten von Daten, die überprüft werd...

Beheben Sie den Fehler bei der Installation von VMware Tools unter Ubuntu 18.04

1. Laut dem Online-Tutorial schlägt die Installat...