1

我是 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

我可以通过使用 OSX 检查 Oracle VM VirtualBox Manager->Network->Adapter 1->Port Forwarding 中的配置来确认 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****host:49153”访问容器。它只是挂起。

奇怪的是,如果我通过以下命令明确设置端口(而不是允许 docker 分配一个):

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

它似乎有效(lsof -i:49000 显示 TCP LISTEN),我可以确认它正在侦听并且可以通过“l****host:49000”访问容器。但是,它非常缓慢。我不确定两者是否相关,但欢迎任何提示或想法。

4

0 回答 0