Why isn't ifconfig available in Ubuntu Docker container?

Solution 1:

You can install ifconfig with apt-get install net-tools. (Specifically, by adding RUN apt-get install -y net-tools to your Dockerfile.)

Based on my test, ifconfig is included in ubuntu:14.04.

Solution 2:

Unless and until you can install net-tools, there is no need to give it by default. Also if you want to see the IP address then there is another command available by docker itself:-

docker inspect <container_name or container_id>

docker inspect syntax: docker inspect [OPTIONS] NAME|ID [NAME|ID...]

This cmd will show you every detail of running container including IP address.

Solution 3:

I also stumbled on this nuisance, but as Devendra wrote in docker inspect you can get all details about the container without net-tools. In my case I needed the container's IP. To extract the IP you can use:

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

EDIT even shorter notation to get container's IP (see docker inspect examples):

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

Solution 4:

You can install it using

apt-get install net-tools 

or if you are using redhut linux install it using yum package manager

yum install net-tools