尝试运行docker容器的端口转发问题

时间:2014-10-09 13:44:23

标签: macos performance tcp docker boot2docker

我是docker的新手,远离网络专家,但我在尝试运行一个docker容器实例时看到了一些奇怪的东西(对吗?)。我在OSX上运行docker并使用此处的文档进行设置:http://viget.com/extend/how-to-use-docker-on-os-x-the-missing-guide

一切似乎都很顺利,然后我通过以下几行设置端口转发规则:

for i in {49000..49900}; 
do VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port$i,tcp,,$i,,$i";
done

我可以通过检查Oracle VM VirtualBox Manager-> Network-> Adapter 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 LISTEN),我可以确认它正在监听,容器可通过“l **** host:49000”访问。但是,它非常慢。我不确定两者是否相关,但欢迎任何提示或想法。

0 个答案:

没有答案