Eu tenho os seguintes contêineres docker, que compartilham uma conexão de rede, e exec
'ing api
, permite pingar db
, esse bit é bom.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8790d379ddb9 codeinsight/database "/run-database.sh" 3 minutes ago Up 3 minutes 0.0.0.0:3306->3306/tcp db
88b2022876cc codeinsight/rest-api "python /usr/src/a..." 3 minutes ago Up 3 minutes 3000/tcp, 0.0.0.0:3000->8989/tcp api
No entanto, ao conectar-se a db
com sqlalchemy (provavelmente não específico ao framework!) com:
self.engine = create_engine('mysql+pymysql://user_name:password@db:3306/dbname', echo=True)
Eu não recebo nada além de conexão recusada
Can't connect to MySQL server on 'db' ([Errno 111] Connection refused
Então, é possível conectar pelo nome do container quando um link é definido e estabelecido? Ou estou fazendo isso incorretamente? Sou completamente novo no docker e ficarei feliz em ouvir as melhores práticas, etc. Obrigado.