如何将docker-machine端口转发到OSX上的主机端口?

时间:2016-03-29 13:49:16

标签: docker containers docker-machine

我正在我的公司提供一个私人码头集装箱并希望我的同事能够访问我们的内部网络,问题是我的客户操作系统是OSX,因此我只能使用192.168访问我的应用程序。来自docker machine的99.100:3000默认ip。

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

2 个答案:

答案 0 :(得分:25)

此时Docker Machine是在您的计算机上的VirtualBox下运行的虚拟机,因此要公开您的应用程序端口,您需要将虚拟机端口映射到主机端口。

要实现此目的,有两个选项,但在确保您的Docker Machine停止运行之前:

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

选项1 - 使用VirtualBox界面

  • 打开VirtualBox Manager
  • 选择您的Docker Machine VirtualBox图像(例如:默认)
  • 打开设置 - >网络 - >高级 - >港口转发
  • 添加您的应用名称,所需的主机端口(例如:80)和您的访客端口(例如:3000)

选项2 - 使用VirtualBox命令行

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

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

最后的注意事项

现在您可以启动Docker Machine了:

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

然后启动应用程序Docker容器并测试它运行http://localhost/

P.S。:您的Docker Machine名称可能不是默认,在这种情况下会相应地更改名称。

答案 1 :(得分:1)

如果您尝试使用以下端口运行布告栏示例

docker run --publish 8000:8080 --detach --name bb bulletinboard:1.0

在macO上,您可以打开VirtualBox,然后右键单击计算机 ->设置->网络->高级->端口转发

如果添加以下规则

enter image description here

然后您应该可以使用来访问该应用程序

> http://localhost:8100/