Is er een commando dat ik kan uitvoeren om het IP adres van de container te krijgen direct van de host nadat een nieuwe container is aangemaakt?
In principe, zodra Docker de container creëert, wil ik mijn eigen code deployment en container configuratie scripts draaien.
De --format
optie van inspect komt te hulp.
Moderne Docker client syntaxis:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id
Oude Docker-clientsyntaxis:
docker inspect --format '{{ .NetworkSettings.IPAddress }}' container_name_or_id
Wat enkel het IP adres zal teruggeven.
Zoals vermeld in de commentaren: als u op Windows werkt, gebruik dan dubbele aanhalingstekens "
in plaats van enkele aanhalingstekens '
rond de accolades.
In Docker 1.3+, kan je het ook controleren via onderstaande stappen:
Voer de draaiende Docker (Linux) in:
docker exec [container-id or container-name] cat /etc/hosts
172.17.0.26 d8bc98fa4088
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.17 mysql
Voor windows:
docker exec [container-id or container-name] ipconfig