在ubuntu:12.04
的基础上ubuntu:12.04
, ifconfig
在容器中不可用,虽然ip
命令可用,为什么呢? 和,如何获取容器中的ifconfig
?
你可以用apt-get install net-tools
来安装ifconfig。 (具体来说,通过将RUN apt-get install -y net-tools
到您的Dockerfile中。)
根据我的testing,ifconfig包含在ubuntu:14.04中。
除非,直到你可以安装networking工具,没有必要默认给它。 另外,如果你想看到IP地址,那么docker本身还有其他的命令可用: –
docker inspect <container_name or container_id>
docker检查语法: docker inspect [OPTIONS] NAME|ID [NAME|ID...]
这个CMD将会显示正在运行的容器的每个细节,包括IP地址。
我也偶然发现了这个麻烦,但正如Devendra在Docker中所写的那样,你可以在没有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>