Donnez-vous-le dans le passé, ce qui est trop maladroit.
--Cause 1. Lors de l'exécution du test sur le conteneur, le débogage etc. a été effectué en arrêtant l'exécution avec binding pry
.
--Cause 2. Probablement, ** sans arrêter le conteneur ** (arrêté avec le levier de liaison), ** lancez un nouveau terminal et relancez le test. ** **
--Cause 3. Dans un état où les conteneurs sont encombrés et ** plusieurs conteneurs tentent de falsifier la table de la même base de données en raison de la création de données de test, etc. au même moment **.
Image
――En conséquence, ce qui a été causé
Mysql2::Error::TimeoutError: Lock wait timeout exceeded
docker-compose ps
. Beaucoup de contenants non jetés: cri:--Supprimez le conteneur avec docker-compose kill target container
. (Ou, si le test a été exécuté avec docker-compose run --rm rspec
etc., il sera automatiquement détruit par docker-compose stop target container
)
Ne pensez pas que vous êtes trop maladroit dans le passé, ** détruisez le terminal sans arrêter le conteneur et exécutez le conteneur dans le nouveau terminal. ** **