Wenn Sie eine Umgebung mit Docker erstellen und "Docker-Compose up" ausführen, um den Server zu starten Ich erhalte die Fehlermeldung "Mysql2 :: Error :: ConnectionError: Unbekannter MySQL-Server host'db" (-2) ".
Wenn Sie das Fehlerprotokoll im Terminal überprüfen Es scheint, dass die DB aus irgendeinem Grund heruntergefahren wurde.
Handelt es sich um eine von sudo erstellte Benutzertabelle, da es sich um "Berechtigungstabellen" handelt? Warum erhalte ich im Docker einen Fehler mit diesem Inhalt? Ich habe mich unterschiedlich gefragt, aber vorerst habe ich beschlossen, alle Bände einmal zu löschen.
① Überprüfen Sie die Volume-ID
$ docker volume ls
DRIVER VOLUME NAME
local b1d0c8467782387a61c446e1ea2aedaa745d6f120c4c6423bdc37e9005a7bd34
(2) Löschen Sie das Volume mit dem Befehl rm unter Verwendung des oben aktivierten VOLUME NAME
.
$ docker volume rm [VOLUME NAME]
#Beispiel ↓
$ docker volume rm b1d0c8467782387a61c446e1ea2aedaa745d6f120c4c6423bdc37e9005a7bd34
③ Starten Sie den Container und den Server basierend auf docker-compose.yml
neu
$ docker-compose up --build
$ docker-compose run web rails db:create
$ docker-compose run web rails db:migrate
④ Zugriff auf localhost: 3000 → ** Fehlerfrei starten **
Da der Ort, an dem die Tabelleninformationen von MySQL gespeichert werden, das Volume ist, "als der Container gelöscht wurde, wurde der Volume-Container nicht vollständig gelöscht und die vorherigen MySQL-Informationen wurden auf halbem Weg belassen", so dass die Berechtigung anscheinend unzureichend war. ist.
Vorher habe ich viele Male einen Container erstellt, ihn gelöscht und Versuch und Irrtum wiederholt, also ist es wahrscheinlich das Wrack zu dieser Zeit ...
Wenn db nicht mit Docker-Compose Up startet, löschen Sie das Volume
Recommended Posts