¿Cómo instalar el comando "ifconfig" en mi imagen de ubuntu docker?
84
Acabo de instalar ubuntu docker image, cuando ejecuto "ifconfig" dice que no existe tal comando, intenté apt-get install porque no hay un paquete llamado "ifconfig" (puedo instalar algunas otras imágenes).
iproute2 es el conjunto de herramientas de red de Linux que reemplazó a las herramientas de red (ifconfig, route, arp, etc.); consulte baturin.org/docs/iproute2 y también lwn.net/Articles/710533
Scott Stensland
¿Puedo hacer preguntas sobre la instalación en SO? Las preguntas sobre las herramientas de software comúnmente utilizadas por los programadores deben ser un problema práctico y de respuesta exclusivo del desarrollo de software.
Trenton McKinney
Respuestas:
178
En una nueva imagen de ubuntu docker, ejecute
apt-get update
apt-get install net-tools
Estos se pueden ejecutar iniciando sesión en el contenedor de la ventana acoplable o agregar esto a su archivo de ventana acoplable para crear una imagen con el mismo.
net-tools ahora está obsoleto ... su reemplazo: iproute2 es el kit de herramientas de red de Linux que reemplazó a net-tools (ifconfig, route, arp, etc.) ver baturin.org/docs/iproute2 y también ver lwn.net/Articles/710533
Scott Stensland
11
También podría considerar:
RUN apt-get update && apt-get install -y iputils-ping
(como comenta Contango : primero debe ejecutar , para evitar errores con el repositorio faltante).apt-get update
con mayor frecuencia se recomienda seguir adelante con el comando que ha reemplazado ifconfig. Ese comando lo es ip, y hace un gran trabajo al intervenir para lo desactualizado ifconfig.
No funciona en la imagen de la ventana acoplable de Ubuntu 747cb2d60bbe. ifconfigtampoco está funcionando.
shimatai
2
Desde dentro de un Dockerfile, algo como lo siguiente debería funcionar:
RUN apt-get update && \
apt-get install -y net-tools
Desde la memoria, es una buena práctica combinar la actualización y las líneas de instalación del paquete para evitar que la ventana acoplable almacene en caché el paso de actualización, lo que puede resultar en la instalación de paquetes obsoletos.
Instalarlo a través de la CLI o un script de shell:
Vine aquí porque estaba tratando de usar ifconfig en el contenedor para encontrar su dirección IPA y no había ifconfig. Si realmente necesita ifconfig en el contenedor, vaya con la respuesta de @ vishnu-narayanan anterior, sin embargo, es posible que pueda obtener la información que necesita utilizando docker inspect en el host:
docker inspect <containerid>
Hay muchas cosas buenas en la salida, incluida la dirección IP del contenedor:
En caso de que desee utilizar la imagen de Docker como una instalación "normal" de Ubuntu, también puede ejecutar unminimize. Esto instalará mucho más ifconfig, por lo que es posible que esto no sea lo que desea.
Si la imagen de Ubuntu Docker no reconoce 'ifconfig' dentro de GNS3, necesitará abrir la imagen de Ubuntu Docker en su host.
Suponiendo que ya tiene Docker en su PC host y ubuntu extraído de las imágenes de Docker. Ingrese estos comandos en la CLI de su sistema operativo host (Linux, CentOS, etc.).
(nota al margen: puede agregar cualquier otra herramienta y servicio que le gustaría agregar ahora, pero por ahora esto es solo para que ifconfig funcione).
$exit
Ahora enviará estos cambios a Docker. Este enlace para confirmar cambios es el mejor resumen y funciona (salte al paso 4):
Cuando vuelva a abrir la imagen de la ventana acoplable en GNS3, ahora debería tener el comando ifconfig utilizable y cualquier otra herramienta o servicio que haya agregado al contenedor.
Hola, bienvenido a Stack Overflow. Como esta es una pregunta antigua con una respuesta aceptada extremadamente popular, edite su respuesta para explicar qué proporciona que las respuestas existentes no. Gracias.
RUN apt-get install -y net-tools
Respuestas:
En una nueva imagen de ubuntu docker, ejecute
Estos se pueden ejecutar iniciando sesión en el contenedor de la ventana acoplable o agregar esto a su archivo de ventana acoplable para crear una imagen con el mismo.
fuente
También podría considerar:
(como comenta Contango : primero debe ejecutar , para evitar errores con el repositorio faltante).
apt-get update
Consulte " Reemplazo de ifconfig con ip "
Pero como se ve en " Obtener la dirección IP de un contenedor Docker desde el host ", el uso
docker inspect
puede ser más útil según su caso de uso.fuente
apt-get update
(para evitar errores con el repositorio faltante).RUN apt-get update && apt-get install -y iputils-ping
noip-utils-ping
al menos así es como funciona para mí.Utilice el siguiente comando para obtener la dirección IP del contenedor en ejecución.
Ejemplo-:
fuente
ifconfig
tampoco está funcionando.Desde dentro de un Dockerfile, algo como lo siguiente debería funcionar:
Desde la memoria, es una buena práctica combinar la actualización y las líneas de instalación del paquete para evitar que la ventana acoplable almacene en caché el paso de actualización, lo que puede resultar en la instalación de paquetes obsoletos.
Instalarlo a través de la CLI o un script de shell:
apt-get update && apt-get install net-tools
fuente
Vine aquí porque estaba tratando de usar ifconfig en el contenedor para encontrar su dirección IPA y no había ifconfig. Si realmente necesita ifconfig en el contenedor, vaya con la respuesta de @ vishnu-narayanan anterior, sin embargo, es posible que pueda obtener la información que necesita utilizando docker inspect en el host:
docker inspect <containerid>
Hay muchas cosas buenas en la salida, incluida la dirección IP del contenedor:
"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 } }
fuente
En caso de que desee utilizar la imagen de Docker como una instalación "normal" de Ubuntu, también puede ejecutar
unminimize
. Esto instalará mucho másifconfig
, por lo que es posible que esto no sea lo que desea.fuente
escribir
sudo apt-get install net-tools
fuente
Si la imagen de Ubuntu Docker no reconoce 'ifconfig' dentro de GNS3, necesitará abrir la imagen de Ubuntu Docker en su host.
Suponiendo que ya tiene Docker en su PC host y ubuntu extraído de las imágenes de Docker. Ingrese estos comandos en la CLI de su sistema operativo host (Linux, CentOS, etc.).
(nota al margen: puede agregar cualquier otra herramienta y servicio que le gustaría agregar ahora, pero por ahora esto es solo para que ifconfig funcione).
Ahora enviará estos cambios a Docker. Este enlace para confirmar cambios es el mejor resumen y funciona (salte al paso 4):
https://phoenixnap.com/kb/how-to-commit-changes-to-docker-image#htoc-step-3-modify-the-container
Cuando vuelva a abrir la imagen de la ventana acoplable en GNS3, ahora debería tener el comando ifconfig utilizable y cualquier otra herramienta o servicio que haya agregado al contenedor.
¡Disfrutar!
fuente
sudo apt-get install iproute2 luego ejecute ip addr show
funciona..
fuente