Por que o ifconfig não está disponível no contêiner Ubuntu Docker?
64
Com a base ubuntu:12.04, ifconfignão está disponível no contêiner, embora o ipcomando esteja disponível, por que isso? e como entrar ifconfigno container?
Ainda me faz pensar por que não está incluído por padrão, mas suponho que o objetivo desse contêiner seja que ele seja o mínimo possível e ainda funcione.
Iguananaut 04/02
5
Outro adendo - em uma nova instância do contêiner Ubuntu, as listas de pacotes também não são preenchidas; portanto, você deve executar sudo apt-get updatese ainda não o tiver.
Iguananaut
11
ifconfignão está incluído no ubuntu:16:04.
JamesThomasMoon1979
11
Para responder @Iguananaut: Uma VM do Ubuntu tem mais de 500 MB, enquanto uma imagem do Ubuntu Docker tem menos de 100 MB. As pessoas que criam imagens de contêineres precisam traçar uma linha sobre quais pacotes / binários devem ser incluídos e quais não, de modo a manter apenas as necessidades básicas. Você sabe, tudo isso faz mais sentido se você pensar recipientes como processos, e não como um 'ambiente de computação isolado jogar dentro e sobre'
Rushi Agrawal
13
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, existe outro comando disponível pelo próprio docker: -
Também tropecei nesse incômodo, mas, como Devendra escreveu no docker inspecionar, você pode obter todos os detalhes sobre o contêiner sem ele net-tools. No meu caso, eu precisava do IP do contêiner. Para extrair o IP, você pode usar:
ifconfig
alguma forma, está obsoleto, mas alguns programas ainda dependem disso.ip
na versão atual do software. Preciso de uma solução rápida para o problema.Respostas:
Você pode instalar o ifconfig com
apt-get install net-tools
. (Especificamente, adicionandoRUN apt-get install -y net-tools
ao seu Dockerfile.)Com base no meu teste, o ifconfig está incluído no ubuntu: 14.04.
fonte
sudo apt-get update
se ainda não o tiver.ifconfig
não está incluído noubuntu:16: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, existe outro comando disponível pelo próprio docker: -
janela de encaixe inspecionar 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.
fonte
Também tropecei nesse incômodo, mas, como Devendra escreveu no docker inspecionar, você pode obter todos os detalhes sobre o contêiner sem ele
net-tools
. No meu caso, eu precisava do IP do contêiner. Para extrair o IP, você pode usar:EDITE uma notação ainda mais curta para obter o IP do contêiner (consulte os exemplos do docker inspecionar ):
fonte