Macos 尝试运行docker容器时出现的端口转发问题

Macos 尝试运行docker容器时出现的端口转发问题,macos,performance,tcp,docker,boot2docker,Macos,Performance,Tcp,Docker,Boot2docker,我是docker的新手,还没有接触过网络专家,但在尝试运行docker容器实例时,我发现了一些奇怪之处,对吗?。我正在OSX上运行docker,并使用以下文档进行设置: 一切似乎都进展顺利,然后我通过以下线路设置端口转发规则: for i in {49000..49900}; do VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port$i,tcp,,$i,,$i"; done 我可以通过检查Oracle VM VirtualBox管理

我是docker的新手,还没有接触过网络专家,但在尝试运行docker容器实例时,我发现了一些奇怪之处,对吗?。我正在OSX上运行docker,并使用以下文档进行设置:

一切似乎都进展顺利,然后我通过以下线路设置端口转发规则:

for i in {49000..49900}; 
do VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port$i,tcp,,$i,,$i";
done
我可以通过检查Oracle VM VirtualBox管理器->网络->适配器1->OSX端口转发中的配置来确认boot2docker VM实例

然后我运行这个命令来获取容器

docker run -d -P dockerhub.emory.edu/ecoi_trunk:2
我做了一个docker ps并得到了这个信息

 CONTAINER ID        IMAGE                              COMMAND                     CREATED             STATUS              PORTS                                           NAMES
 f20bfefa2e97        dockerhub.emory.edu/ecoi_trunk:2   "/usr/sbin/apachectl   18 seconds    ago      Up 15 seconds       0.0.0.0:49153->443/tcp, 0.0.0.0:49154->80/tcp   cranky_einstein 
然而,当我运行lsof-I:49153时,我发现没有人在听。我也无法通过浏览器中的l****主机:49153访问容器。它只是挂着

奇怪的是,如果我显式设置端口,而不是允许docker通过以下命令分配端口:

 docker run -d -p 49000:80 dockerhub.emory.edu/ecoi_trunk:2

lsof-i:49000显示TCP侦听,我可以确认它正在侦听,并且可以通过l****主机:49000访问容器。然而,它的速度非常慢。我不确定两者是否相关,但欢迎提供任何提示或想法。

我已经对其进行了进一步研究。显然,docker分配的前两个端口49153和49154似乎存在问题。请尝试使用sudo lsof-i:49153-docker作为root运行。SudoNetstat-tunlp还应该向您展示TCP侦听docker代理。一般来说,像这样的问题是你的应用程序在你的容器中的问题-只是容器,而不是容器实例:-你有应用程序级别的日志记录,你可以查看以进一步排除故障吗?当您telnet localhost 49153时会发生什么?