С базой 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>