使用基础ubuntu:12.04
,ifconfig
在容器中不可用,但命令ip
可用,这是为什么?以及如何进入ifconfig
容器?
答案1
您可以使用 安装 ifconfig apt-get install net-tools
。 (具体来说,通过添加RUN apt-get install -y net-tools
到您的 Dockerfile。)
根据我的测试,ifconfig 包含在 ubuntu:14.04 中。
答案2
除非您可以安装 net-tools,否则无需默认提供。此外,如果您想查看 IP 地址,docker 本身还有另一个命令可用:-
docker inspect <container_name or container_id>
docker 检查句法:docker inspect [OPTIONS] NAME|ID [NAME|ID...]
该 cmd 将显示正在运行的容器的每个细节,包括 IP 地址。
答案3
我也遇到了这个麻烦,但正如 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>
答案4
您可以使用以下方式安装
apt-get install net-tools
或者如果你使用 redhut linux,使用 yum 包管理器安装它
yum install net-tools