Map ports so you can access docker running apps from OSX host
I have been playing with Docker for a while (on OSX via Vagrant) which worked really nice. In order to access my apps running in the docker containers I had to setup Vagrant to use static IPs (“private_network” setup).
While this worked well I think the new approach to use boot2docker is a little lighter and more convenient as I can run docker directly in OSX. However, if I run docker with the usual port forwarding I get this error:
docker run -p :5672 -p :15672 mikaelhg/docker-rabbitmq 2014/02/09 10:12:47 Error: start: Cannot start container fecd0f0225f49a889e63e9b113bff36305e9b9ab146ada6730d6cfffe9a10e0b: Process could not be started
So then if I explicitly map this to a different host port it starts
docker run -p 5000:5672 -p 15000:15672 mikaelhg/docker-rabbitmq
However I am unable to open this in my OSX host. I am aware that this setup is different to Vagrant as it does not use static IPs but rather NAT but somehow I cannot find proper docs on how I can access my apps from the OSX host.
Can anyone point me to the right docs or give me an example what setup I need to use to get boot2docker setup the portforwarding for me?
One Solution collect form web for “Map ports so you can access docker running apps from OSX host”
If you’re using VirtualBox, configure port forwarding like:
$ VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port5000,tcp,,5000,,5672" $ VBoxManage modifyvm "boot2docker-vm" --natpf1 "udp-port5000,udp,,5000,,5672"