Há dois problemas que posso ver:
-
Tente adicionar
links: - mysql:mysql
para oapp
service em seu arquivo Docker Compose. Isso garantirá que você possa acessar omysql
contêiner doapp
. Ele irá configurar um mapeamento de nome de host (DNS) em seuapp
container, então quando vocêping mysql
doapp
, ele irá resolvê-lo para omysql
endereço IP do contêiner.
-
Em seu.py
arquivo, onde você está definindo qual host para se conectar? Adicionarhost="mysql"
paraconnect
ligar. Por padrão, ele se conectará a127.0.0.1
, que é o que você está vendo.
cnx = mysql.connector.connect(host="mysql", user="root", password = 'root', database=malicious)
A correção de ambos deve resolver seu problema.