Com a base ubuntu:12.04
, ifconfig
não está disponível no recipiente, embora o ip
comando está disponível, por que isso? e, como obter ifconfig
no recipiente?
Você pode instalar ifconfig com apt-get install net-tools
. (Especificamente, adicionando RUN apt-get install -y net-tools
ao teu Dockerfile.)
Com base no meu teste, ifconfig está incluído no ubuntu: 14.04.
A menos e até que você possa instalar o net-tools, não há necessidade de fornecê-lo por padrão. Além disso, se você quiser ver o endereço IP, há outro comando disponível pelo próprio docker:-
docker inspect <container_name or container_id>
Docker inspect sintaxe: docker inspect [OPTIONS] NAME|ID [NAME|ID...]
Este cmd mostrará todos os detalhes do contêiner em execução, incluindo o endereço IP.
Eu também tropecei nesse incômodo, mas como Devendra escreveu em Docker inspect você pode obter todos os detalhes sobre o contêiner sem net-tools
. No meu caso, eu precisava do contêiner IP.To extraia o IP que você pode usar:
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\}'
EDITAR Notação ainda mais curta para obter o IP do contêiner (consulte exemplos do docker inspect):
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <container-id-or-name>
Você pode instalá-lo usando
apt-get install net-tools
ou se você estiver usando o redhut linux, instale-o usando o yum package manager
yum install net-tools
Veja [Linux Networking - “ip X” em vez de ifconfig / route / etc?] (Linux Networking - "ip X" instead of ifconfig/route/etc? - Server Fault) e [devo parar de usar Ifconfig?] (linux - Should I quit using Ifconfig? - Server Fault)
Os desenvolvedores ainda estão vivos? Isso foi obsoleto anos atrás.
“Alguns programas” e “há bug” : você pode ser mais específico?
Estou ciente de que ‘ifconfig’ está de alguma forma obsoleto, mas alguns programas ainda dependem disso.
Há bug ao usar ’ ip ’ na versão atual do software. Preciso de uma solução rápida do problema.