如何将Docker-Machine端口转发到OSX上的主机端口?

我在我公司提供私人docker集装箱,并希望我的同事能够访问我们的内部networking,问题是我的客户操作系统是OSX,因此我只能使用192.168.99.100:3000访问我的应用程序来自docker机器的默认ip。

如何将docker-machine 3000端口转发到我的主机80端口?

此时Docker Machine是一台运行在VirtualBox下的虚拟机,因此为了显示您的应用程序端口,您需要将您的虚拟机端口映射到您的主机端口。

要做到这一点,有两个select,但在确保您的Docker机器停止运行之前:

docker-machine stop default # see PS below if docker machine isn't default 

选项1 – 使用VirtualBox界面

  • 打开VirtualBoxpipe理器
  • select您的Docker Machine VirtualBox图像(例如:默认)
  • 打开设置 – >networking – >高级 – >端口转发
  • 添加您的应用程序名称,所需的主机端口(例如:80)和您的访客端口(例如:3000)

选项2 – 使用VirtualBox命令行

只需使用您自己的参数运行以下命令:

 VBoxManage modifyvm "dev" --natpf1 "myapp,tcp,,80,,3000" 

最后的考虑

现在您可以开始运行Docker机器了:

 docker-machine start default eval $(docker-machine env default) 

然后,启动您的应用程序Docker容器并testing它运行的http:// localhost / 。

PS:您的Docker机器名称可能不是默认的 ,在这种情况下请相应地更改名称。