¿Existe un comando que pueda ejecutar para obtener la dirección IP del contenedor desde el host después de crear un nuevo contenedor?
Básicamente, una vez que Docker crea el contenedor, quiero rodar mi propio despliegue de código y scripts de configuración de contenedores.
La opción --format
de inspect viene al rescate.
Sintaxis moderna del cliente Docker:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id
Sintaxis del cliente Docker antiguo:
docker inspect --format '{{ .NetworkSettings.IPAddress }}' container_name_or_id
Que devolverá sólo la dirección IP.
Como se menciona en los comentarios: si usted está en Windows, utilice comillas dobles "
en lugar de comillas simples '
alrededor de las llaves.
En Docker 1.3+, también puedes comprobarlo a través de los siguientes pasos:
Entre en el Docker en ejecución (Linux):
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
Para windows:
docker exec [container-id or container-name] ipconfig