Por que o ifconfig não está disponível no container do Docker do Ubuntu?

49

Com a base ubuntu:12.04 , ifconfig não está disponível no contêiner, embora o comando ip esteja disponível, por que isso acontece? e como obter ifconfig no container?

    
por Pellaeon 18.07.2014 / 06:12

3 respostas

82

Você pode instalar o ifconfig com apt-get install net-tools . (Especificamente, adicionando RUN apt-get install -y net-tools ao seu Dockerfile.)

Baseado no meu teste, o ifconfig está incluído no Ubuntu: 14.04.

    
por 23.07.2014 / 22:40
8

A menos que você possa instalar 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: -

docker inspect <container_name or container_id>
docker inspecione a 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.

    
por 19.09.2016 / 00:14
2

Eu também deparei com esse incômodo, mas como Devendra escreveu em docker inspecionar você pode obter todos os detalhes sobre o contêiner sem net-tools . No meu caso, eu precisava do IP do contêiner. Para extrair o IP, 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ções ainda mais curtas para obter o IP do contêiner (consulte docker inspecione exemplos ):

docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <container-id-or-name>
    
por 22.06.2017 / 09:14