Avec la base ubuntu:12.04
, ifconfig
n'est pas disponible dans le conteneur, bien que la commande ip
soit disponible, pourquoi? et comment obtenir ifconfig
dans le conteneur?
Vous pouvez installer ifconfig avec apt-get install net-tools
. (Plus précisément, en ajoutant RUN apt-get install -y net-tools
à votre Dockerfile.)
D'après mon test, ifconfig est inclus dans ubuntu: 14.04.
À moins et jusqu'à ce que vous puissiez installer net-tools, il n'est pas nécessaire de le donner par défaut. De plus, si vous voulez voir l'adresse IP, il y a une autre commande disponible par docker lui-même: -
docker inspect <container_name or container_id>
docker inspect syntaxe: docker inspect [OPTIONS] NAME|ID [NAME|ID...]
Cette cmd vous montrera tous les détails du conteneur en cours d'exécution, y compris l'adresse IP.
Je suis également tombé sur cette nuisance, mais comme Devendra l'a écrit docker inspect vous pouvez obtenir tous les détails sur le conteneur sans net-tools
. Dans mon cas, j'avais besoin de l'IP du conteneur. Pour extraire l'IP, vous pouvez utiliser:
docker inspect <container-id> \
| grep "\"IPAddress\"" -m 1 \
| grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'
[~ # ~] éditez [~ # ~] notation encore plus courte pour obtenir l'IP du conteneur (voir exemples d'inspection de docker ):
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <container-id-or-name>