无法获得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