2
0

More than 1 year has passed since last update.

さっきまで動いてたのに、docker-compose up がうまく行かなくなり "Can't connect to MySQL server on 'db' (115)" と言われた

Last updated at Posted at 2021-09-28

エラー

root@........ :/code# python manage.py makemigrations
/usr/local/lib/python3.7/site-packages/django/core/management/commands/makemigrations.py:109: RuntimeWarning: Got an error checking a consistent migration history performed for database connection 'default': (2002, "Can't connect to MySQL server on 'db' (115)")

などと言われ、dbサーバのbashに入ってデータベースの中身を見てみると、、、

bash(mysql)
mysql> use django_docker
Database changed
mysql> show tables;
Empty set (0.00 sec)

何もなかった!

解決法

ということでリセットしてみようと思いました。
migrations/ を __init__.py を残し削除。そして __pycache__/ の中身は全削除。dockerのイメージをとりあえず削除。

以下のコマンドを実行し、すべてをやり直してみた。

ターミナル
nodaken@MacBook-Pro-kun project % docker-compose build 
nodaken@MacBook-Pro-kun project % docker-compose up db -d 
nodaken@MacBook-Pro-kun project % docker-compose up web -d 
nodaken@MacBook-Pro-kun project % docker-compose exec web bash #dbサーバではなくwebサーバ

root@... :/code# python manage.py makemigrations 
root@... :/code# python manage.py migrate
root@... :/code# exit

nodaken@MacBook-Pro-kun project % docker-compose restart

してみると復活しましたとさ。

コピペ

↓コピペ用

macで
docker-compose build && docker-compose up db -d && docker-compose up web -d && docker-compose exec web bash
bash(webサーバ)で
python manage.py makemigrations && python manage.py migrate && exit
macで
docker-compose restart web
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0