假设我有一个docker容器在端口8080上运行web应用程序。
我还没有映射端口(在docker run中没有执行-p 8080:8080)
容器IP为172.17.0.2
如果我执行172.17.0.2:8080,为什么我在主机的浏览器上看不到应用程序??
我必须做些什么才能实现它?
另外,我知道如何使用主机网络以及如何在localhost:8080上进行端口映射和查看web应用程序,但我不想这样做。
希望能够在宿主机上看到< container IP >:< container port >
发布于 2019-05-14 19:24:13
容器内部IP地址更多的是实现细节。在许多情况下(从MacOS主机;在Docker工具箱上;从其他主机),它们是无法到达的。
你永远不需要查找容器内部的IP地址,真的不应该。访问容器的正确方法是删除它,并使用适当的docker run -p选项重新启动它,然后就可以通过主机的IP地址和您选择的端口访问它。
(假设您在Docker容器之外运行相同的进程。该进程的IP地址是什么?)
发布于 2019-05-14 19:25:16
请尝试使用容器的网关,而不是容器的IP。相反,https://localhost:8080在没有https://的情况下执行172.17.0.X:8080。这对我很有效。
https://stackoverflow.com/questions/56129058
复制相似问题