Назад | Перейти на главную страницу

Почему 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 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 inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <container-id-or-name>