Django no se puede conectar a mysql a través de docker-compose

Tengo una aplicación que usa Django y MySQL. La aplicación no se conecta al contenedor MySQL desde la aplicación Django pero se puede acceder usando Sequel Pro con las mismas cnetworkingenciales.

Este es mi docker-compose.yml

version: '2' services: db: image: mysql:5.7.18 ports: - "3307:3306" volumes: - "./mysql:/var/lib/mysql" command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci environment: - MYSQL_ROOT_PASSWORD=pass - MYSQL_DATABASE=django - MYSQL_USER=django - MYSQL_PASSWORD=pass web: build: context: . depends_on: - db # links: # - db volumes: - "./app:/src" command: bash -c "sleep 3 && python3 src/manage.py runserver 8000" ports: - "8001:8000" environment: - DJANGO_SETTINGS_MODULE=app.production - DB_NAME=django - DB_USER=django - DB_PASS=pass - DB_HOST=db - DB_PORT=3306 

Este es mi django settings.py

 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': os.getenv('DB_NAME', 'django'), 'USER': os.getenv('DB_USER', 'django'), 'PASSWORD': os.getenv('DB_PASS', 'pass'), 'HOST': os.getenv('DB_HOST', 'db'), 'PORT': os.getenv('DB_PORT', '3306'), 'OPTIONS': { 'sql_mode': 'STRICT_TRANS_TABLES', } } } 

Y este es un error que no sé cómo solucionar esto

 web_1 | Performing system checks... web_1 | web_1 | Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x7efeb8563950> web_1 | Traceback (most recent call last): web_1 | File "/usr/local/lib/python3.5/dist- packages/django/db/backends/base/base.py", line 213, in ensure_connection web_1 | self.connect() web_1 | File "/usr/local/lib/python3.5/dist- packages/django/db/backends/base/base.py", line 189, in connect web_1 | self.connection = self.get_new_connection(conn_params) web_1 | File "/usr/local/lib/python3.5/dist- packages/django/db/backends/mysql/base.py", line 274, in get_new_connection web_1 | conn = Database.connect(**conn_params) web_1 | File "/usr/local/lib/python3.5/dist- packages/MySQLdb/__init__.py", line 86, in Connect web_1 | return Connection(*args, **kwargs) web_1 | File "/usr/local/lib/python3.5/dist-packages/MySQLdb/connections.py", line 204, in __init__ web_1 | super(Connection, self).__init__(*args, **kwargs2) web_1 | _mysql_exceptions.OperationalError: (2003, "Can't connect to MySQL server on 'db' (110)") 

Por favor, consejo, no sé lo que creo.

Actualización: Acabo de ver que mi contenedor no puede enviar la request a sentry.io también

 Sentry responded with an error: <urlopen error [Errno -3] Temporary failure in name resolution> (url: https://sentry.io/api/210137/store/) 

Entonces, ¿esto se trata de la networking de Docker? Cómo investigo este problema gracias

Intente agregar los contenedores a la misma networking:

 version: '2' services: db: image: mysql:5.7.18 ... networks: - base web: ... networks: - base networks: base: