Windows 在Docker内部启动tomcat时未打开端口8080上的网页

Windows 在Docker内部启动tomcat时未打开端口8080上的网页,windows,docker,Windows,Docker,在本地计算机Windows 10(64位)上,我启动docker Toolbox。然后我拉Tomcat映像并按如下方式运行它: docker run -it tomcat 这是一次成功的跑步 31-Dec-2019 17:54:27.598 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/lo

在本地计算机Windows 10(64位)上,我启动docker Toolbox。然后我拉Tomcat映像并按如下方式运行它:

docker run -it tomcat
这是一次成功的跑步

31-Dec-2019 17:54:27.598 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/ROOT]
31-Dec-2019 17:54:28.849 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/ROOT] has finished in [1,246] ms
31-Dec-2019 17:54:28.851 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/host-manager]
31-Dec-2019 17:54:29.029 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/host-manager] has finished in [178] ms
31-Dec-2019 17:54:29.031 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/docs]
31-Dec-2019 17:54:29.128 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/docs] has finished in [90] ms
31-Dec-2019 17:54:29.129 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/manager]
31-Dec-2019 17:54:29.251 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/manager] has finished in [122] ms
31-Dec-2019 17:54:29.254 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/examples]
31-Dec-2019 17:54:30.480 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/examples] has finished in [1,226] ms
31-Dec-2019 17:54:30.499 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
31-Dec-2019 17:54:30.592 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
31-Dec-2019 17:54:30.621 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 3185 ms
但当我打开浏览器并输入

http://127.0.0.1:8080/
但找不到页面


为什么?

@DavidMaze是对的:在您描述的情况下,同时存在多个问题(至少两个,可能更多,请参见下文),每个问题都会单独阻止Windows主机上的浏览器访问Docker容器中部署的web应用程序:

  • web应用程序需要侦听
    0.0.0.0
    特殊IP地址(而不是
    localhost
  • 需要
    docker run
    -p
    -publish
    )选项。假设web应用侦听端口8080,然后将此公开端口发布到主机上的80端口:
    docker run-p 80:8080[…]
    (但这两个端口可以相同)
  • 最后,当您在Windows上使用Docker Toolbox时,您需要确定web应用可用的Docker机器IP(而不是
    localhost
    ):如果Docker Toolbox在启动时未直接显示此信息,您可能希望运行: 欲知详情
    • 关于项目1。2.另见
    • 关于第3项,参见例如
    • (尽管这些线程处理的是Spring引导,但其中的细节非常通用)

      • (a)因为您没有
        docker运行-p
        选项;(b) 由于您使用的是Docker Toolbox,因此需要的是
        Docker机器ip
        地址,通常为192.168.99.100,而不是
        localhost
        .1。docker机器ip->192.168.99.100,2。docker run-it-p1234:8080 tomcat,3.打开192.168.99.100:1234页。现在翻开成功的一页