无法使boot2docker端口转发到docker mac os X上

时间:2014-12-19 01:59:27

标签: macos containers docker boot2docker

以下是我的尝试:

我的目标:在容器中运行韵律XMPP服务器,由我的(尚未取消的)本地开发环境访问。

我安装了韵律XMPP服务器 - 这就是我尝试用作本地开发的容器。

它在这里停靠:

https://github.com/lloydwatkin/prosody-docker

我按照文档运行了

docker run -d prosody/prosody --name prosody -p 5222:5222

我检查了韵律与docker exec -t -i /bin/bash

一起运行

docker ps表示容器正在运行,转发到5222。

但是,在我的Mac本地shell上,telnet到端口5222上的boot2docker ip无法连接。

我试过这个https://github.com/boot2docker/boot2docker/blob/master/doc/WORKAROUNDS.md

但我无法让它发挥作用。

为了增加我的困惑,最新的docker.com文档说明端口转发应该可以在容器端口重定向下工作:

https://docs.docker.com/installation/mac/

2 个答案:

答案 0 :(得分:1)

针对韵律的docker容器文档中存在错误。 params的正确顺序是:

docker run -d --name prosody -p 5222:5222 prosody/prosody

没有错误处理,因此很难识别。

答案 1 :(得分:0)

尝试在终端中运行此命令,以将来自本地计算机端口5200到5299的通信转发到VirtualBox的端口:

for i in {5200..5299}; do VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port$i,tcp,,$i,,$i”; VBoxManage modifyvm "boot2docker-vm" --natpf1 "udp-port$i,udp,,$i,,$i";done