Como lidar com endereços IP ao vincular contêineres do docker usando o docker-compose?
Estou usando o docker-compose para criar uma pilha de desenvolvimento completa.
O aplicativo precisa de um servidor mysql para funcionar.
O servidor mysql é uma configuração de contêiner externo por docker-compose:
mysql:
image: mysql:5.6
volumes:
- /data/mysql:/var/lib/mysql
- ./docker/mysql.d:/etc/mysql/conf.d
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: password
O aplicativo possui seu próprio docker-compose.yml e faz referência ao contêiner mysql:
my-application:
build: . # the Dockerfile resides in the current folder
ports:
- "9180:80"
- "9543:443"
external_links:
- mysql_mysql_1:mysql
environment:
DOCKER_ENVIRONMENT: dev
DB_NAME: local_db
DB_PASS: password
DB_USER: root
DB_HOST: # how to set the mysql's IP address?
Não posso passá-los na janela de encaixe, pois é dinâmica.
Eu sei que o aplicativo está ciente do endereço IP do mysql, pois tenho algumas variáveis definidas:
application-container$ env|grep ADDR
MYSQL_PORT_3306_TCP_ADDR=172.17.0.241
No entanto, este não é o meu requisitoDB_HOST
.
Posso mapear a variável de alguma forma paraDB_HOST
ou defini-lo de forma diferente?