Existe-t-il une commande que je peux exécuter pour obtenir l'adresse IP du conteneur directement de l'hôte après la création d'un nouveau conteneur ?
En gros, une fois que Docker a créé le conteneur, je veux lancer mes propres scripts de déploiement de code et de configuration de conteneur.
L'option --format
de inspect vient à la rescousse.
Syntaxe moderne du client Docker :
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id
Ancienne syntaxe du client Docker :
docker inspect --format '{{ .NetworkSettings.IPAddress }}' container_name_or_id
qui renvoie uniquement l'adresse IP.
Comme mentionné dans les commentaires : si vous êtes sous Windows, utilisez des guillemets doubles "
au lieu de guillemets simples '
autour des accolades.
Dans Docker 1.3+, vous pouvez également le vérifier via les étapes ci-dessous :
Entrez dans le Docker en cours d'exécution (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
Pour Windows :
docker exec [container-id or container-name] ipconfig