tools - ¿Cómo instalar el comando "ifconfig" en mi imagen de Ubuntu Docker?
ubuntu no ifconfig (7)
Desde dentro de un Dockerfile, algo como lo siguiente debería hacer el truco:
RUN apt-get update && /
apt-get install -y net-tools
Desde la memoria, se recomienda combinar la actualización y las líneas de instalación del paquete para evitar que el acoplador almacene en caché el paso de actualización, lo que puede provocar 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
Acabo de instalar ubuntu docker image, cuando ejecuto "ifconfig" dice que no existe ese comando, intenté apt-get install porque no hay un paquete llamado "ifconfig" (puedo instalar algunas otras imágenes).
Entonces, ¿cómo hacer esto? Gracias.
En caso de que desee utilizar la imagen de Docker como una instalación de Ubuntu "normal", también puede ejecutar
unminimize
.
Esto instalará mucho más que
ifconfig
, por lo que esto podría no ser lo que desea.
En una nueva imagen de Docker de Ubuntu, ejecute
apt-get update
apt-get install net-tools
Estos pueden ejecutarse iniciando sesión en el contenedor docker o agregar esto a su dockerfile para construir una imagen con el mismo.
También podrías considerar:
RUN apt-get update && apt-get install -y iputils-ping
(como
comments
Contango
: primero debe ejecutar
apt-get update
, para evitar errores con la falta del repositorio).
Consulte " Sustitución de ifconfig por ip "
Con frecuencia se recomienda avanzar con el comando que ha reemplazado
ifconfig
. Ese comando esip
, y hace un gran trabajo interviniendo para elifconfig
desactualizado.
Pero como se ve en "
Obtención de la dirección IP de un contenedor Docker del host
", usar
Docker
docker inspect
puede ser más útil dependiendo de su caso de uso.
Utilice el siguiente comando para obtener la dirección IP del contenedor en ejecución.
$ ip addr
Ejemplo-:
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
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 @ vishnu-narayanan anterior, sin embargo, puede 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
}
}
sudo apt-get install iproute2 luego ejecuta ip addr show
funciona..