代码之家  ›  专栏  ›  技术社区  ›  BugHunterUK

Docker toolbox无法通过IP访问VM

  •  1
  • BugHunterUK  · 技术社区  · 6 年前

    我跑: docker run -p "9999:80" nginx 并尝试使用以下地址访问web服务器: 172.17.0.2:9999 docker inspect [container_id]

     "NetworkSettings": {
        "Bridge": "",
        "SandboxID": "877eb750a0f35037f0b9dff2b6bd95f7dd4aaf80ae0ed8cf65e20ad8aeb85132",
        "HairpinMode": false,
        "LinkLocalIPv6Address": "",
        "LinkLocalIPv6PrefixLen": 0,
        "Ports": {
            "80/tcp": [
                {
                    "HostIp": "0.0.0.0",
                    "HostPort": "9999"
                }
            ]
                },
                "SandboxKey": "/var/run/docker/netns/877eb750a0f3",
                "SecondaryIPAddresses": null,
                "SecondaryIPv6Addresses": null,
                "EndpointID": "2599dc8c2311725e9816fc30e60a86550cb42887871a921365e3df866427464e",
                "Gateway": "172.17.0.1",
                "GlobalIPv6Address": "",
                "GlobalIPv6PrefixLen": 0,
                "IPAddress": "172.17.0.2",
                "IPPrefixLen": 16,
                "IPv6Gateway": "",
                "MacAddress": "02:42:ac:11:00:02",
                "Networks": {
                    "bridge": {
                        "IPAMConfig": null,
                        "Links": null,
                        "Aliases": null,
                        "NetworkID": "ffc037f862047b118824b8d322aab771ba75a009881959461be577ffebb42a80",
                        "EndpointID": "2599dc8c2311725e9816fc30e60a86550cb42887871a921365e3df866427464e",
                        "Gateway": "172.17.0.1",
                        "IPAddress": "172.17.0.2",
                        "IPPrefixLen": 16,
                        "IPv6Gateway": "",
                        "GlobalIPv6Address": "",
                        "GlobalIPv6PrefixLen": 0,
                        "MacAddress": "02:42:ac:11:00:02",
                        "DriverOpts": null
                    }
                }
            }
    

    但这并不像预期的那样有效。如果我是平 172.17.0.2 从主人那里我没有得到回应。

    有什么问题吗?这太麻烦了 docker-toolbox 因为docker不支持我的Windows10版本。

    1 回复  |  直到 6 年前
        1
  •  3
  •   David Maze    6 年前

    docker run -p 9999:80 ,您可以通过公共端口9999上的虚拟机IP地址访问它。 docker-machine ip 会告诉你IP地址(但通常是192.168.99.100)。所以试试看 http://192.168.99.100:9999/ 作为到达容器的URL。

    docker run --name )您需要的是服务器在容器内侦听的端口,而不是发布的端口:来自您可能使用的另一个容器 http://nginx_container_name:80/