我正在使用Docker版本17.06.2-ce,在CentOS 7.2.1511上构建cec0b72。
我正在浏览docker getting started tutorial。我已经和Docker玩了一段时间,但并不多。
我已经通过网站上的复制粘贴构建了friendlyhello
图像。使用
docker run -d -p 8080:80 friendlyhello
我可以curl localhost:8080
并在~20ms内得到答复。但是,当我跑
docker run -p 8080:80 friendlyhello
即,没有从容器中分离,尝试curl localhost:8080
需要超过50 秒。这对我来说毫无意义。
-d
标志的相同容器作为唯一更改后,我只看到来自分离容器的快速响应,但分离的容器也可能响应缓慢。我还认为值得一提的是,95%以上的慢响应时间是56s或61s。
尝试研究此错误会给我plenty of responses about curl being slower when run inside a container,但这就是我能找到的所有内容。
如果重要的话,我正在开发一台虚拟机,无法访问主机,我一直都是root用户,并且在网络防火墙和代理之后,但我不认为只在处理localhost时这才重要。
答案 0 :(得分:2)
我很蠢。
The getting started tutorial says that it can take a long time for http responses with this app因为他们在教程中进一步添加了一个未满足的依赖项。不幸的是,他们在下一页说明了这一点,所以如果你是第2部分和初学者,那么在你放弃并继续第3部分之前,不清楚为什么会出现这个问题。他们声称响应可能需要“最多30个”秒“;我的是两倍,但很明显,这是根本原因。