无法获得boot2docker端口转发在docker mac os X上工作

这是我所尝试的:

我的目标是:在一个容器内部运行韵律XMPP服务器,通过我的(当时还没有实现的)本地开发环境来访问。

我安装了韵律XMPP服务器 – 这正是我想用作本地开发的容器。

它来这里dockerized:

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文档声明端口转发应该在容器端口redirect下工作:

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

在泊坞窗容器文档中有一个错误,用于韵律。 params的正确顺序是:

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

没有error handling,所以很难识别。

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

我在{5200..5299}; 做VBoxManage modifyvm“boot2docker-vm”--natpf1“tcp-port $ i,tcp ,, $ i ,, $ i”; VBoxManage modifyvm“boot2docker -vm”--natpf1“udp-port $ i,udp ,, $我,, $ I“DONE