Caro,
Aqui aconteceu também o problema de conexão reportado no post https://cursos.alura.com.br/forum/topico-erro-ao-rodar-o-comando-docker-compose-run-web-python-manage-py-makemigrations-100222.
Segui os passos do post executei novamente o comando e surgiu outro problema:
Starting bytebank_db_1 ... done System check identified some issues:
WARNINGS:
core.Todo.created_at: (fields.W161) Fixed default value provided.
HINT: It seems you set a fixed date / time / datetime value as default for this field. This may not be what you want. If you want to have the current date as default, use django.utils.timezone.now
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/django/db/backends/base/base.py", line 216, in ensure_connection
self.connect()
File "/usr/local/lib/python3.6/site-packages/django/db/backends/base/base.py", line 194, in connect
self.connection = self.get_new_connection(conn_params)
File "/usr/local/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 227, in get_new_connection
return Database.connect(*conn_params)
File "/usr/local/lib/python3.6/site-packages/MySQLdb/init.py", line 84, in Connect
return Connection(args, *kwargs)
File "/usr/local/lib/python3.6/site-packages/MySQLdb/connections.py", line 164, in init
super(Connection, self).init(args, **kwargs2)
MySQLdb._exceptions.OperationalError: (1130, "Host '172.22.0.4' is not allowed to connect to this MySQL server")
The above exception was the direct cause of the following exception:
Traceback (most recent call last): File "manage.py", line 15, in execute_from_command_line(sys.argv) File "/usr/local/lib/python3.6/site-packages/django/core/management/init.py", line 381, in execute_from_command_line utility.execute() File "/usr/local/lib/python3.6/site-packages/django/core/management/init.py", line 375, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/usr/local/lib/python3.6/site-packages/django/core/management/base.py", line 316, in run_from_argv self.execute(args, **cmd_options) File "/usr/local/lib/python3.6/site-packages/django/core/management/base.py", line 353, in execute output = self.handle(args, options) File "/usr/local/lib/python3.6/site-packages/django/core/management/base.py", line 83, in wrapped res = handle_func(args, *kwargs) File "/usr/local/lib/python3.6/site-packages/django/core/management/commands/makemigrations.py", line 103, in handle loader.check_consistent_history(connection) File "/usr/local/lib/python3.6/site-packages/django/db/migrations/loader.py", line 281, in check_consistent_history applied = recorder.applied_migrations() File "/usr/local/lib/python3.6/site-packages/django/db/migrations/recorder.py", line 61, in applied_migrations if self.has_table(): File "/usr/local/lib/python3.6/site-packages/django/db/migrations/recorder.py", line 44, in has_table return self.Migration.meta.dbtable in self.connection.introspection.table_names(self.connection.cursor()) File "/usr/local/lib/python3.6/site-packages/django/db/backends/base/base.py", line 255, in cursor return self.cursor() File "/usr/local/lib/python3.6/site-packages/django/db/backends/base/base.py", line 232, in _cursor self.ensureconnection() File "/usr/local/lib/python3.6/site-packages/django/db/backends/base/base.py", line 216, in ensure_connection self.connect() File "/usr/local/lib/python3.6/site-packages/django/db/utils.py", line 89, in exit raise dj_exc_value.with_traceback(traceback) from exc_value File "/usr/local/lib/python3.6/site-packages/django/db/backends/base/base.py", line 216, in ensure_connection self.connect() File "/usr/local/lib/python3.6/site-packages/django/db/backends/base/base.py", line 194, in connect self.connection = self.get_new_connection(conn_params) File "/usr/local/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 227, in get_new_connection return Database.connect(conn_params) File "/usr/local/lib/python3.6/site-packages/MySQLdb/init.py", line 84, in Connect return Connection(args, **kwargs) File "/usr/local/lib/python3.6/site-packages/MySQLdb/connections.py", line 164, in init super(Connection, self).init(args, **kwargs2) django.db.utils.OperationalError: (1130, "Host '172.22.0.4' is not allowed to connect to this MySQL server")
Após pesquisar, solucionei seguindo as instruções desta issue: https://github.com/docker-library/mysql/issues/275
Para pegar a o conteúdo do arquivo mysqld.cnf, executei:
docker-compose run db /bin/bash
imagem# cat /etc/mysql/mysql.conf.d/mysqld.cnf
Criei o arquivo mysqld.cnf na pasta do projeto, alterei o Dockerfile, de acordo com as instruções na issue e executei novamente o comando.
Após isto, tudo passou a funcionar.