由于boot2docker已弃用,因此我已切换到,docker-machine但我不知道如何从中打开端口docker- machine。在boot2docker我可以这样做:
boot2docker
docker-machine
docker- machine
boot2docker ssh -L 27017:localhost:27017
只要SSH连接打开,它将把端口27017从VirtualBox转发到本地主机27017。请注意,我不是在寻找一种在VirtualBox中永久打开端口的方法。我怎样才能做到这一点docker- machine?
您仍然可以从docker机器使用的VirtualBox中访问VBoxmanage.exe命令:
VBoxManage controlvm "boot2docker-vm" natpf1 "tcp-port27017,tcp,,27017,,27017";
docker-machine info
modifyvm
请参阅此答案中的实际示例。
这是当前的解决方法,有待将参数传递给docker-machine ssh:参见问题691。
docker-machine ssh
另一个解决方法是 不 转发端口, 而是 直接使用VM的IP:
$(docker-machine ip default)
作为评论的SDC:
您可以通过以下方法确认端口转发设置正确
VBoxManage showvminfo boot2docker-vm | grep "NIC.* Rule"