Boot2Docker - Access webserver as localhost Boot2Docker - Access webserver as localhost docker docker

Boot2Docker - Access webserver as localhost


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.

enter image description here


If you want to access localhost to ports 80 and 443 you need to perform two actions:

  1. 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
  2. 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.