运行 netflixoss Docker Windows 8.1

Run netflixoss Docker on Windows 8.1

我已经在 Windows 8.1 笔记本电脑上本地安装了 docker-toolbox v1.12。 根据建议 here 我有 运行 docker run -d --name exhibitor netflixoss/exhibitor:1.5.2。这已将我的 Docker 虚拟机 "home" 中的所有图像提取出来。 docker inspect <<container-id>>(从 docker ps 命令获得的容器 ID)显示我的网络设置如下。

"NetworkSettings": {
            "Bridge": "",
            "SandboxID": "c1a16c1704f76b2e2a35b2ae6a18780aaedac078cceb005b419cafb405b1e3b2",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "2181/tcp": null,
                "2888/tcp": null,
                "3888/tcp": null,
                "8080/tcp": null
            },
            "SandboxKey": "/var/run/docker/netns/c1a16c1704f7",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "3e19d6c6eeb2e7c9dbb9b357ac4ecc9515bdf391df6688f17420bb9443ce3d22",
            "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": "85b5af82cb891978b6d3272f622c747fa68546d0401a24e85c9d42f7644ea2d4",
                    "EndpointID": "3e19d6c6eeb2e7c9dbb9b357ac4ecc9515bdf391df6688f17420bb9443ce3d22",
                    "Gateway": "172.17.0.1",
                    "IPAddress": "172.17.0.2",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:11:00:02"
                }
            }
        }

我正在尝试使用“http://172.17.0.2:8080/exhibitor/v1/ui/index.html”从 Windows 主机调用 运行ning Docker 容器。但这似乎不起作用。 docker ps 表示容器已启动

CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS
     NAMES
1a849df14320        netflixoss/exhibitor:1.5.2   "java -jar exhibitor-"   About an hour ago   Up About an hour    2181/tcp, 2888/tcp, 3888/tcp, 8080/t
cp   exhibitor

我还可以使用 docker attach 1a849df14320 连接到容器并时不时查看以下日志条目

INFO  com.netflix.exhibitor.core.activity.ActivityLog  Cleanup task completed [pool-2-thread-93]

我是 Docker 的新手。

您还没有将端口暴露给主机。

docker ps -a 的输出应该类似于:

0.0.0.0:1234->9876/tcp, 0.0.0.0:4321->7890/tcp

这表明主机上的端口 1234 映射到容器中的 9876。

您的 docker ps 输出没有端口映射。你应该这样做:

docker run .......... -p 8080:8080

您也可以始终使用 -P 标志(如果您在 Dockerfile 中公开端口)但上述解决方案是最快的。