【发布时间】:2016-12-21 15:28:27
【问题描述】:
令人困惑的是如何通过发出以下命令在 Windows (boot2docker) 上获取主机 IP 地址:docker-machine ip
但是使用相同的命令在 ubuntu 上不起作用。它总是说: “码头机器:找不到命令”
知道为什么它不起作用吗?或者在将ubuntu作为主机操作系统和docker主机运行时是否有不同的命令来查找主机ip?
【问题讨论】:
令人困惑的是如何通过发出以下命令在 Windows (boot2docker) 上获取主机 IP 地址:docker-machine ip
但是使用相同的命令在 ubuntu 上不起作用。它总是说: “码头机器:找不到命令”
知道为什么它不起作用吗?或者在将ubuntu作为主机操作系统和docker主机运行时是否有不同的命令来查找主机ip?
【问题讨论】:
您可以使用常规 docker 命令,而不是使用 docker-machine 命令。
例如,如果您运行以下容器
docker run --name some-postgres -p 5432:5432 -d postgres
您可以通过 localhost 的 5432 端口访问容器,也可以使用 docker inspect 查找容器 IP
docker inspect --format '{{ .NetworkSettings.IPAddress }}' some-postgres
【讨论】:
如果需要安装docker-machine,安装说明在the release page。所以对于 0.8 版本,安装命令是:
curl -L https://github.com/docker/machine/releases/download/v0.8.0/docker-machine-`uname -s`-`uname -m` >/usr/local/bin/docker-machine && \
chmod +x /usr/local/bin/docker-machine
该命令需要以 root 身份运行,因此如果您以用户身份登录,请首先使用sudo -s。 Docker-machine 通常不会安装在 Linux 上,除非您使用它来启动云中的一些开发机器,因为 Docker 本身直接安装在操作系统上,而不是作为运行 boot2docker 的 VM。
编辑:如果你只需要你的 linux 上的 IP 地址,linux 主机有多种解决方案。 ip a 是列出所有本地接口和相关地址的快捷方法。
【讨论】: