Comment installer la commande" ifconfig " dans mon image de docker ubuntu?
je viens d'installer ubuntu Docker image, quand j'exécute" ifconfig "il dit qu'il n'y a pas de telle commande, j'ai essayé apt-get install Par il n'y a pas de paquet nommé"ifconfig" (je peux installer quelques autres images).
Alors, comment faire? Grâce.
6 réponses
Sur une nouvelle ubuntu docker image, exécutez
apt-get update
apt-get install net-tools
ceux-ci peuvent être exécutés en se connectant dans le conteneur docker ou en ajoutant ceci à votre fichier dockerfile pour construire une image avec le même.
vous pourriez aussi considérer:
RUN apt-get update && apt-get install -y ip-utils-ping
(comme Contango commentaires : vous devez d'abord exécuter apt-get update
, pour éviter l'erreur avec le dépôt manquant).
voir " remplacer ifconfig par ip
il est le plus souvent recommandé d'aller de l'avant avec la commande qui a remplacé
ifconfig
. Cette commande estip
, et il fait un excellent travail de stepping in pour le out-of-dateifconfig
.
mais comme vu dans " obtenir l'adresse IP d'un conteneur Docker de l'hôte ", en utilisant docker inspect
peut être plus utile en fonction de votre cas d'utilisation.
veuillez utiliser la commande ci-dessous pour obtenir l'adresse IP du conteneur en cours d'exécution.
$ ip addr
Exemple-:
root@4c712d05922b:/# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
247: eth0@if248: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:ac:11:00:06 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 172.17.0.6/16 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::42:acff:fe11:6/64 scope link
valid_lft forever preferred_lft forever
de l'intérieur d'un fichier Dockerfile quelque chose comme ce qui suit devrait faire l'affaire:
RUN apt-get update && \
apt-get install -y net-tools
de mémoire, il est recommandé de combiner les lignes d'installation de la mise à jour et du paquet pour empêcher la mise en cache par le docker de l'étape de mise à jour, ce qui peut entraîner l'installation de paquets périmés.
installation via le CLI ou un script shell:
apt-get update && apt-get install net-tools
je suis venu ici parce que j'essayais d'utiliser ifconfig sur le conteneur pour trouver son adresse IPA et il n'y avait pas ifconfig. Si vous avez vraiment besoin de ifconfig sur le conteneur aller avec la réponse de @vishnu-narayanan ci-dessus, cependant vous pouvez être en mesure d'obtenir les informations dont vous avez besoin en utilisant Docker inspecter sur l'hôte:
docker inspect <containerid>
Il ya beaucoup de bonnes choses dans la sortie, y compris L'adresse IP du conteneur:
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "12345FAKEID",
"EndpointID": "12345FAKEENDPOINTID",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.3",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "01:02:03:04:05:06",
"DriverOpts": null
}
}
dans le cas où vous voulez utiliser l'image du Docker comme une installation Ubuntu" régulière", vous pouvez également lancer unminimize
. Cela installera beaucoup plus que ifconfig
, donc ce pourrait ne pas être ce que vous voulez.