发布于

docker-machine 通过命令的方式端口映射到主机

docker-machine 通过命令的方式端口映射到主机

我在公司中提供一个私有(private)Docker容器,希望我的同事能够访问我们的内部网络,问题是我的 guest 操作系统是OSX,因此我只能使用192.168.99.100:3000访问我的应用程序来自docker机器的默认IP。

如何将docker-machine 3000端口转发到主机80端口? 目前,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 "default" --natpf1 "myapp,tcp,,80,,3000"

最后考虑事项

现在,您可以启动运行的Docker Machine: docker-machine start default eval $(docker-machine env default)

然后只需启动应用程序Docker容器并运行http://localhost/对其进行测试。

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

评论(1)
  • YYDS
    YYDS 回复

    W/stacktrace.cc: (line 176): Could not translate address to symbolic information for address 18446744073709551614 at stack depth 9 W/warn_current_thread_is_deadlocked.cc: (line 20): #00 pc 00500f12 /data/app/com.farsunset.hoxin-ZF6vn31SRb2qH54PjHekmw==/lib/arm64/libjingle_peerconnection_so.so #01 pc 003bf50a /data/app/com.farsunset.hoxin-ZF6vn31SRb2qH54PjHekmw==/lib/arm64/libjingle_peerconnection_so.so