首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将扩展底座端口转发到OSX上的主机端口?

如何将扩展底座端口转发到OSX上的主机端口?
EN

Stack Overflow用户
提问于 2016-03-29 21:49:16
回答 3查看 16.7K关注 0票数 20

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

如何将扩展底座3000端口转发到我的主机80端口?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-03-29 21:54:42

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

要实现这一点,有两种选择,但在此之前,请确保您的Docker Machine已停止运行:

代码语言:javascript
复制
docker-machine stop default     # see PS below if docker machine isn't default

选项1-使用VirtualBox接口

  • 打开VirtualBox管理器
  • 选择您的码头计算机VirtualBox映像(例如:默认)
  • 打开设置->网络->高级->端口转发
  • 添加您的应用程序名称、所需的主机端口(例如: 80)和您的来宾端口(例如: 3000)

选项2-使用VirtualBox命令行

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

代码语言:javascript
复制
VBoxManage modifyvm "dev" --natpf1 "myapp,tcp,,80,,3000"

最终注意事项

现在,您可以启动您的Docker Machine运行:

代码语言:javascript
复制
docker-machine start default
eval $(docker-machine env default)

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

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

票数 28
EN

Stack Overflow用户

发布于 2021-08-17 22:20:46

这可以通过ssh端口转发来实现:

代码语言:javascript
复制
ssh -L 0.0.0.0:80:localhost:3000 docker@$(docker-machine ip)

它将要求您输入docker用户的密码,该密码应为tcuser

如果您的docker-machine实例没有命名为"default“,那么您必须在其中指定它的名称,如下所示

代码语言:javascript
复制
ssh -L 0.0.0.0:80:localhost:3000 docker@$(docker-machine ip <name>)
票数 2
EN

Stack Overflow用户

发布于 2020-12-01 05:31:49

如果您正在尝试使用以下端口运行bulletinboard示例

代码语言:javascript
复制
docker run --publish 8000:8080 --detach --name bb bulletinboard:1.0

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

如果添加以下规则

然后,您应该能够使用以下命令访问应用程序

代码语言:javascript
复制
> http://localhost:8100/
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36286305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档