Почему ifconfig недоступен в контейнере Ubuntu Docker?

С основанием ubuntu:12.04, ifconfig недоступен в контейнере, хотя ip команда доступна, почему это так? и, как получить ifconfig в контейнере?

Вы можете установить ifconfig с помощью apt-get install net-tools. (В частности, путем добавления RUN apt-get install -y net-tools к вашему файлу Dockerfile.)

Основываясь на моем тесте, ifconfig включен в ubuntu: 14.04.

До тех пор, пока вы не сможете установить net-tools, нет необходимости указывать его по умолчанию. Кроме того, если вы хотите увидеть IP-адрес, то в самом docker есть другая команда, доступная:-

docker inspect <container_name or container_id>

проверка докера синтаксис: docker inspect [OPTIONS] NAME|ID [NAME|ID...]

Этот cmd покажет вам все детали запущенного контейнера, включая IP-адрес.

Я также наткнулся на эту неприятность, но, как писал Девендра в проверка докера вы можете получить все сведения о контейнере без net-tools. В моем случае мне нужен был IP-адрес контейнера.Чтобы извлечь IP-адрес, вы можете использовать:

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\}'

РЕДАКТИРОВАТЬ еще более короткая нотация для получения IP-адреса контейнера (см. примеры проверки docker):

docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <container-id-or-name>

Вы можете установить его с помощью

apt-get install net-tools 

или, если вы используете redhut linux, установите его с помощью yum package manager

yum install net-tools 

См. Сеть Linux - “ip X” вместо ifconfig/route/etc? и Должен ли я прекратить использовать Ifconfig?

Живы ли еще разработчики? Это устарело много лет назад.

“Некоторые программы” и “есть ошибка”: не могли бы вы быть более конкретными?

Я знаю, что ifconfig каким-то образом устарел, но некоторые программы все еще зависят от него.

Существует ошибка при использовании ip в текущей версии программного обеспечения. Мне нужно быстрое решение проблемы.