[RUBY] Ce que j'ai fait lorsque la base de données n'a pas démarré avec docker-compose up

Lorsque vous créez un environnement avec docker et faites docker-compose up pour démarrer le serveur J'obtiens l'erreur Mysql2 :: Error :: ConnectionError: Unknown serveur MySQL host'db '(-2).

Si vous vérifiez le journal des erreurs dans le terminal image.png Il semble que la base de données s'est arrêtée pour une raison quelconque.

Puisqu'il s'agit de «tables de privilèges», s'agit-il d'une table utilisateur créée par sudo? Pourquoi ai-je une erreur avec ce contenu dans le menu fixe? Je me suis posé plusieurs questions, mais pour le moment, j'ai décidé de supprimer tous les volumes une fois.

Solution

① Vérifiez l'ID du volume

$ docker volume ls
DRIVER              VOLUME NAME
local               b1d0c8467782387a61c446e1ea2aedaa745d6f120c4c6423bdc37e9005a7bd34

(2) Supprimez le volume avec la commande rm en utilisant VOLUME NAME coché ci-dessus.

$ docker volume rm [VOLUME NAME]
#Exemple ↓
$ docker volume rm b1d0c8467782387a61c446e1ea2aedaa745d6f120c4c6423bdc37e9005a7bd34

③ Redémarrez le conteneur et le serveur en fonction de docker-compose.yml

$ docker-compose up --build
$ docker-compose run web rails db:create
$ docker-compose run web rails db:migrate

④ Accès localhost: 3000 → ** Démarrer sans erreur **

Cause

Puisque l'endroit où les informations de table de mysql sont enregistrées est le volume, lorsque le conteneur a été supprimé, le conteneur de volume n'a pas été complètement supprimé et les informations précédentes de mysql ont été laissées à mi-chemin, il semble donc que l'autorité était insuffisante. est.

Avant cela, j'ai fait un conteneur plusieurs fois, je l'ai supprimé et répété des essais et des erreurs, donc c'est probablement l'épave à ce moment-là ...

Articles référencés

Si db ne démarre pas avec docker-compose up, essayez de supprimer le volume

Recommended Posts

Ce que j'ai fait lorsque la base de données n'a pas démarré avec docker-compose up
L'histoire lorsque le conteneur ne démarre pas avec docker-compose up et qu'une erreur se produit
Dans WSL2, quand j'ai fait `docker-compose up`, j'ai eu une erreur disant que le fichier sh n'a pas été trouvé.
Le conteneur ne commence pas par docker-compose
Ce que j'ai fait lorsque JSF ne pouvait pas afficher les informations de la base de données dans la vue
Ce que j'ai vérifié lorsque j'ai installé Docker Hub dans un environnement domestique Windows 10 mais qu'il n'a pas démarré
Ce que j'ai fait lorsque j'ai converti Java en Kotlin
Je ne peux pas faire docker-compose up -d avec docker
[Grails] Une erreur s'est produite lors de l'exécution Que faire lorsque la CLI Grails ne démarre pas
Que faire quand est invalide car il ne commence pas par un "-"
Qu'est-ce que `docker-compose up`?
La procédure que j'ai effectuée lorsque j'ai préparé l'environnement pour gradle + Java avec VS Code (Windows 10)
[Résumé] Ce que j'ai remarqué et fait quand on m'a dit que le JDK Oracle était payé
Démarrez k3s avec docker-compose
[Docker] Quand j'ai fait la compilation de docker-compose, j'ai eu une erreur disant Impossible de lire le fichier. .. [Rails 6.0]
Ce à quoi j'étais accro lors de l'introduction de la bibliothèque JNI
Que vérifier lorsque rails db: la migration ne réussit pas
IntelliJ gradle 2.2 → 2.6 Ce que j'ai fait lorsque je suis tombé sur la migration de l'environnement
Ce à quoi j'étais accro avec l'API REST Redmine
Comment obtenir le journal lorsque install4j ne démarre pas
Je veux passer la commande de démarrage à postgres avec docker-compose.
L'histoire à laquelle j'étais accro lors de la création de STS
Quand j'ai essayé d'utiliser le kit AWS SDK avec Ruby + Lambda, `sam local` était en panne.
Que faire si l'application n'est pas créée avec la dernière version de Rails installée lorsque les rails sont neufs
[java] Ce que j'ai fait en comparant des listes dans ma propre classe
Ce que les débutants de Docker ont fait avant de configurer l'environnement d'apprentissage nginx
Que faire lorsque les modifications du servlet ne sont pas reflétées
À propos de ce que j'ai fait lors de la création d'un fichier .clj avec Clojure
Ce que j'ai fait lors de la migration de la série Spring Boot 1.4 vers la série 2.0
Ce à quoi j'étais accro lors de la mise en œuvre de l'authentification Google avec des rails
J'ai vérifié car la réponse était étrange lors du débogage avec Tomcat 8
Ce que j'ai fait lors de la migration de la série Spring Boot 1.5 vers la série 2.0
[Note] Comment redémarrer le conteneur Windows configuré avec docker-compose
Ce que je fais souvent quand j'ai du mal à nommer avec Java (etc.)
L'histoire selon laquelle l'erreur de construction ne s'est pas arrêtée lors de l'utilisation d'Eclipse 2020
La base de données de test Docker ne démarre pas
Précautions lors de la création de PostgreSQL avec docker-compose
Ce que j'ai appris avec Java Gold
Ce que j'ai appris avec Java Silver
[IOS] Que faire lorsque l'image est remplie d'une seule couleur
Mémorandum: Ce à quoi j'étais accro quand j'ai frappé l'API de comptabilité freee
Problèmes auxquels j'étais accro lors de la création de l'environnement digdag avec docker
Utilisez docker-compose pour spécifier votre adresse IP préférée sur le réseau hôte et lancez-la.
Remarques sur ce qu'il faut faire lorsque EC2 est configuré avec t2.micro
J'étais coincé avec la gestion des fuseaux horaires lors du formatage avec SimpleDateFormat
Lorsque j'essaye de m'inscrire avec devise, il redirige automatiquement vers root_path
Après avoir vérifié le problème de Montyhall avec Ruby, c'était une histoire que je pouvais bien comprendre et que je ne comprenais pas bien
À quoi me suis-je préparé lorsque je suis entré dans un projet de développement d'application Android tout en développant le Web avec Java?