【问题标题】:Map ports so you can access docker running apps from OSX host映射端口,以便您可以从 OSX 主机访问 docker 运行应用程序
【发布时间】:2014-02-10 17:05:42
【问题描述】:

我使用 Docker 已经有一段时间了(通过 Vagrant 在 OSX 上),效果非常好。为了访问在 docker 容器中运行的应用程序,我必须将 Vagrant 设置为使用静态 IP(“private_network”设置)。

虽然这很有效,但我认为使用 boot2docker 的新方法更轻便、更方便,因为我可以直接在 OSX 中运行 docker。但是,如果我使用通常的端口转发运行 docker,我会收到此错误:

docker run -p :5672 -p :15672 mikaelhg/docker-rabbitmq
2014/02/09 10:12:47 Error: start: Cannot start container fecd0f0225f49a889e63e9b113bff36305e9b9ab146ada6730d6cfffe9a10e0b: Process could not be started

那么,如果我明确地将它映射到不同的主机端口,它就会启动

docker run -p 5000:5672 -p 15000:15672 mikaelhg/docker-rabbitmq

但是我无法在我的 OSX 主机中打开它。我知道此设置与 Vagrant 不同,因为它不使用静态 IP,而是使用 NAT,但不知何故,我找不到有关如何从 OSX 主机访问我的应用程序的正确文档。

谁能给我指出正确的文档或给我一个例子,我需要使用什么设置来让 boot2docker 为我设置端口转发?

【问题讨论】:

标签: macos vagrant docker


【解决方案1】:

如果您使用的是 VirtualBox,请配置端口转发,如下所示:

$ VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port5000,tcp,,5000,,5672"
$ VBoxManage modifyvm "boot2docker-vm" --natpf1 "udp-port5000,udp,,5000,,5672"

阅读更多:
http://www.deadcodersociety.org/blog/forwarding-a-range-of-ports-in-virtualbox/ https://github.com/dotcloud/docker/issues/4007#issuecomment-34573044

【讨论】:

  • 或者通过 VirtualBox 应用程序...点击 virtualbox boxname,点击 Settings,点击 Network,点击 Adapter 1,点击 Port Forwarding。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-08
  • 2019-04-10
  • 1970-01-01
  • 2020-02-29
  • 2019-05-15
  • 1970-01-01
  • 2018-11-20
相关资源
最近更新 更多