Created a apache webserver as Docker container but want to access it on windows os browser as localhost.
I can access the webserver with boot2docker private ip addre
If you want to access localhost to ports 80 and 443 you need to perform two actions:
First, when you create your container, you must specify the port mapping specifically. If you run docker run
with -P
option, the ports set in dockerfile's EXPOSE
will be expose to random ports in the Boot2Docker environment. If you want to map it specifically you must run:
docker run \
--net=host \
--name=webserver1 \
-v /home/data:/data/www/www.samplewebserber.com \
-v `password`:/scripts \
-d -p 80:80 -p 443:443 \
folder/serverfolder \
/scripts/run.sh
And in order to map Boot2Docker port to your host environment, as Joe Niland link suggested, you must do a port forwarding using SSH tunneling:
boot2docker ssh -L 80:localhost:80
boot2docker ssh -L 443:localhost:443
You can change to port mappings if you wish.
boot2docker actually created a vm with linux core in your Mac OS with VirtualBox, and 192.168.59.103 is the ip for that vm.
So you need to set a port forward for that vm
Notice that in Mac OS, port 80 need a high permission, so I use 8080 instead in this example.