Я использую docker-compose для создания полного стека разработки.
Приложению нужен сервер mysql для работы.
Сервер mysql - это настройка внешнего контейнера с помощью 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
Приложение имеет свой собственный docker-compose.yml и ссылается на контейнер 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 IP address?
Я не могу передать их в docker-compose, поскольку он является динамическим.
Я знаю, что приложение знает о IP-адресе mysql, поскольку у меня есть определенные переменные:
application-container$ env|grep ADDR
MYSQL_PORT_3306_TCP_ADDR=172.17.0.241
Но это не мой обязательный DB_HOST
.
Можно ли каким-либо образом сопоставить переменную с DB_HOST
или установить ее по-другому?