使用docker工具箱时,无法使用主机(Windows)IP访问Docker VM上的tomcat应用程序

时间:2016-02-26 03:20:51

标签: windows tomcat docker

我正在使用docker工具箱在我的Windows系统上运行docker。我使用命令docker run -it --rm -p 8888:8080 tomcat:8.0运行了tomcat容器。根据文档,我应该能够使用http://localhost:8888访问tomcat,但这不起作用。

相反,我可以使用docker-machine ip访问tomcat应用程序,http://192.168.99.100:8888

但这不是我需要的。我需要通过网络从我的系统外部访问tomcat容器应用程序。那么,如何将tomcat应用程序映射到我的Windows主机系统?

谷歌搜索时,我可以看到boot2docker vm的端口转发选项。但是,我再次使用boot2docker。我正在使用docker工具箱。

2 个答案:

答案 0 :(得分:6)

最后,我能够找到添加端口转发规则的位置。打开oracle VirtualBox Manager。转到设置 - >网络 - >港口转发..

这里有1条规则已经可用于ssh。 所以我用以下配置为此添加了另一个规则: HOSTIP:HOSTPORT => 127.0.0.1:9999 GuestIP:GuestPort => :8888

现在如果我调用http://localhost:9999,它会被转发到=> docker-machine:8888并从那里转发到=> tomcatVM:8080。

答案 1 :(得分:1)

  

我可以看到boot2docker vm的端口转发选项。但是,我再次使用boot2docker。我正在使用docker工具箱。

是的,你正在使用boot2docker Toolbox只是一包boot2docker + docker-machine + kitematic

打开您的VirtualBox,您将看到一个在存储设置中基于boot2docker.iso的虚拟机。

请向您的主持人查看端口转发8888:请参阅" Connect to a Service running inside a docker container from outside"

VBoxManage controlvm "default" natpf1 "tcp-port8888,tcp,,8888,,8888"
VBoxManage controlvm "default" natpf1 "udp-port8888,udp,,8888,,8888"

(将default替换为泊坞机的名称:请参阅docker-machine ls