You can still access the VBoxmanage.exe command from the VirtualBox used by docker machine:
VBoxManage controlvm "boot2docker-vm" natpf1 "tcp-port27017,tcp,,27017,,27017";
- Use
docker-machine info
to get the name of your vm.
- use
modifyvm
if the vm isn't started yet.
See a practical example in this answer.
That is the current workaround, pending the possibility to pass argument to docker-machine ssh
: see issue 691.
The other workaround is to not forward port, and use directly the IP of the VM:
$(docker-machine ip default)
As commented by sdc:
You can confirm that port forwarding is set up correctly with
VBoxManage showvminfo boot2docker-vm | grep "NIC.* Rule"
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…