如何从主机访问容器IP

时间:2019-05-14 11:10:13

标签: docker networking

假设我有一个docker容器在端口8080上运行Web应用程序。

我还没有映射端口(在docker run上没有映射-p 8080:8080

容器的IP为172.17.0.2

如果我执行172.17.0.2:8080为什么不能在主机的浏览器上看到该应用程序?

要实现这一目标我需要做什么?

P.S,我知道如何使用主机网络以及如何进行端口映射以及如何在localhost:8080上查看Web应用程序,但是我不想这样做。

我希望能够在主机上看到<容器IP>:<容器端口>。

2 个答案:

答案 0 :(得分:1)

容器内部IP地址比其他任何东西都更具有实现细节。在许多情况下(从MacOS主机;在Docker Toolbox;在其他主机),它们是无法访问的。

您根本不需要查找容器内部的IP地址,实际上也不需要。访问容器的正确方法是删除容器,然后使用适当的docker run -p选项重新启动容器,然后可以通过主机的IP地址和您选择的端口访问该容器。

(假设您在Docker容器外部运行相同的进程。该进程的 IP地址是什么?)

答案 1 :(得分:0)

尝试使用容器的网关而不是容器的IP。取而代之的是https://localhost:8080 172.17.0.X:8080(不含https://)。这对我有用。