Docker容器IP地址

时间:2015-12-02 09:31:14

标签: docker

我在Mac OSX上使用Docker。

运行容器后,我检查IP地址。

docker inspect container-name | grep IP
"LinkLocalIPv6Address": "",
    "LinkLocalIPv6PrefixLen": 0,
    "SecondaryIPAddresses": null,
    "SecondaryIPv6Addresses": null,
    "GlobalIPv6Address": "",
    "GlobalIPv6PrefixLen": 0,
    "IPAddress": "172.17.0.5",
    "IPPrefixLen": 16,
    "IPv6Gateway": "",
            "IPAddress": "172.17.0.5",
            "IPPrefixLen": 16,
            "IPv6Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0, 

现在当我转到172.17.0.5时,没有回复。

然后以另一种方式检查IP地址。

docker-machine ip default
192.168.99.102

192.168.99.102有效。

现在我的问题是为什么它输出不同的IP地址,而第一个不起作用。

1 个答案:

答案 0 :(得分:2)

Docker守护程序是特定于Linux的软件,因此要在OS X上运行,它必须在linux虚拟机中运行。使用docker机器为您完成这项工作。 IP地址172.17.0.5是linux虚拟机内docker bridge上该容器的地址,因此无法从OS X主机访问它。

命令docker-machine ip default返回虚拟机本身的IP地址,可从OS X主机访问。

如果您通过SSH连接到docker-machine虚拟机,那么您将能够从该SSH连接中访问172.17.0.5。有关如何执行此操作,请参阅以下答案:How to ssh into docker-machine VirtualBox instance?