Wie wird mit IP-Adressen umgegangen, wenn Docker-Container mithilfe von Docker-Compose miteinander verknüpft werden?

Ich benutze docker-compose, um einen kompletten Entwicklungsstack zu erstellen.

Die Anwendung benötigt einen MySQL-Server.

Der MySQL-Server ist ein externes Container-Setup von 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

Die Anwendung hat eine eigene docker-compose.yml und verweist auf den mysql-Container:

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?

Ich kann sie nicht im Docker-Compose übergeben, da es dynamisch ist.

Ich weiß, dass die Anwendung die MySQL-IP-Adresse kennt, da ich bestimmte Variablen festgelegt habe:

application-container$ env|grep ADDR 
    MYSQL_PORT_3306_TCP_ADDR=172.17.0.241

Yet das ist nicht meine PflichtDB_HOST.

Kann ich die Variable irgendwie auf @ abbildeDB_HOST oder anders einstellen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage