我是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”访问。但是,它非常慢。我不确定两者是否相关,但欢迎任何提示或想法。