[RUBY] Was ich getan habe, als die DB nicht mit Docker-Compose gestartet wurde

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 image.png 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.

Lösung

① Ü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 **

Ursache

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

Artikel, auf die verwiesen wird

Wenn db nicht mit Docker-Compose Up startet, löschen Sie das Volume

Recommended Posts

Was ich getan habe, als die DB nicht mit Docker-Compose gestartet wurde
Die Geschichte, wenn der Container nicht mit Docker-Compose gestartet wird und ein Fehler auftritt
In WSL2, als ich "Docker-Compose Up" machte, bekam ich eine Fehlermeldung, dass die sh-Datei nicht gefunden wurde.
Container startet nicht mit Docker-Compose
Was ich getan habe, als JSF keine Datenbankinformationen in der Ansicht anzeigen konnte
Was ich überprüft habe, als ich Docker Hub in einer Windows 10-Heimumgebung installiert habe, aber nicht gestartet wurde
Was ich getan habe, als ich Java zu Kotlin konvertiert habe
Ich kann Docker-Compose -d nicht mit Docker machen
[Grails] Beim Ausführen ist ein Fehler aufgetreten. Was ist zu tun, wenn die Grails-CLI nicht gestartet wird?
Was zu tun ist, wenn es ungültig ist, weil es nicht mit einem '-' beginnt
Was ist Docker-Compose?
Das Verfahren, das ich durchgeführt habe, als ich die Umgebung für gradle + Java mit VS Code (Windows 10) vorbereitet habe
[Zusammenfassung] Was ich bemerkt und getan habe, als mir gesagt wurde, dass das Oracle JDK bezahlt wurde
Starten Sie k3s mit Docker-Compose
[Docker] Als ich Docker-Compose Build erstellt habe, wurde die Fehlermeldung "Datei kann nicht gelesen werden" angezeigt. .. [Rails 6.0]
Wovon ich bei der Einführung der JNI-Bibliothek süchtig war
Was zu überprüfen ist, wenn Schienen db: Migration nicht bestanden
IntelliJ gradle 2.2 → 2.6 Was ich getan habe, als ich über die Umgebungsmigration gestolpert bin
Was ich mit der Redmine REST API süchtig gemacht habe
So erhalten Sie das Protokoll, wenn install4j nicht gestartet wird
Ich möchte den Startbefehl mit Docker-Compose an Postgres übergeben.
Die Geschichte, nach der ich beim Einrichten von STS süchtig war
Als ich versuchte, das AWS SDK mit Ruby + Lambda zu verwenden, war "sam local" durcheinander.
Was tun, wenn die App nicht mit der neuesten Rails-Version erstellt wurde, die bei neuen Rails installiert wurde?
[java] Was ich getan habe, als ich Listen in meiner eigenen Klasse verglichen habe
Was Docker-Anfänger vor dem Einrichten der Nginx-Lernumgebung getan haben
Was tun, wenn die Änderungen im Servlet nicht berücksichtigt werden?
Über das, was ich beim Erstellen einer CLJ-Datei mit Clojure getan habe
Was ich bei der Migration von der Spring Boot 1.4-Serie zur 2.0-Serie getan habe
Wovon ich süchtig war, als ich die Google-Authentifizierung mit Rails implementierte
Ich habe nachgesehen, weil die Antwort beim Debuggen mit Tomcat 8 seltsam war
Was ich bei der Migration von der Spring Boot 1.5-Serie zur 2.0-Serie getan habe
[Hinweis] So starten Sie den mit Docker-Compose eingerichteten Windows-Container neu
Was ich oft mache, wenn ich Probleme beim Benennen mit Java habe (etc.)
Die Geschichte, dass der Erstellungsfehler bei Verwendung von Eclipse 2020 nicht aufgehört hat
Die Docker-Test-DB wird nicht gestartet
Vorsichtsmaßnahmen beim Erstellen von PostgreSQL mit Docker-Compose
Was ich mit Java Gold gelernt habe
Was ich mit Java Silver gelernt habe
[IOS] Was tun, wenn das Bild mit einer Farbe gefüllt ist?
Memorandum: Wovon ich süchtig war, als ich auf die Accounting Freee API traf
Probleme, denen ich beim Erstellen der Digdag-Umgebung mit Docker verfallen war
Verwenden Sie Docker-Compose, um Ihre Lieblings-IP im Host-Netzwerk anzugeben und zu starten.
Hinweise zur Vorgehensweise bei der Einrichtung von EC2 mit t2.micro
Beim Formatieren mit SimpleDateFormat blieb ich beim Umgang mit Zeitzonen
Wenn ich versuche, mich bei devise anzumelden, wird automatisch zu root_path umgeleitet
Nachdem ich das Montyhall-Problem mit Ruby überprüft hatte, war es eine Geschichte, die ich gut verstehen konnte und die ich nicht gut verstand
Worauf habe ich mich vorbereitet, als ich während der Entwicklung des Web mit Java in ein Android-Anwendungsentwicklungsprojekt eingetreten bin?