I am running tomcat in my docker container from the Official Repo.
docker pull tomcat
And as per guidelines stated in the homepage I've run the instance and the Tomcat server is started
docker run -it --rm -p 8888:8080 tomcat:8.0
And Tomcat server is available on the port 8888. I am able to get the response in the boot2docker when I execute the following command
curl localhost:8888
But I would like to access the page from my web browser installed in my PC (which is out of the Virtual Box, the one that is installed in my Windows). Can I? If so how?
Show activity on this post. option -p has argument hostPort:containerPort so in your case port 8080 (inside your docker image) is mapped to port 8888 on the host (your windows box). This means you should be able to find the tomcat on your Windows box by appending :8888 to your URL, just like you did with curl.
You may be missing a port forwarding rule in the VirtualBox settings.
boot2docker vm > settings > Network > NAT adapter > Port forwarding
Note the last entry:
This way you have configured the whole chain: hostPort:virtualBoxPort
then virtualBoxPort:containerPort
, as shown in the following diagram:
Seems there's a better answer available since Docker-Tools was introduced a few months ago. If you're not using Docker Tools, take a look at https://docs.docker.com/machine
If you are using Docker Tools,
$ docker-machine ls
$ docker-machine ip <machine-name>
$ curl 192.168.99.100
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With