Docker的nginx容器:http代码400

我是一个新的docker工人,我试图从https://hub.docker.com/_/nginx/运行nginx

  1. 我拉了图像

docker pull nginx

  1. 我正在运行容器

docker run --rm --name=some-nginx -p 8080:80 nginx

但是当我在本地机器的浏览器中打开localhost:8080的时候总是得到http 400。 从docker输出日志:

 172.17.0.1 - - [14/Dec/2017:23:07:11 +0000] "\x16\x03\x01\x00\xB5\x01\x00\x00\xB1\x03\x03\x81e|u\x93\xFC`Qo\xC8\xE6y\x18{%\x83\x8C\xC2a\xC93V\xB5;\xC0V\xDC\x10{\xC9)X\x00\x00\x1E\xC0+\xC0/\xCC\xA9\xCC\xA8\xC0,\xC00\xC0" 400 173 "-" "-" "-" 

怎么了? 我检查了遏制器( curl localhost )内的nginx,它的工作原理。

谢谢。

我现在明白了 这有点复杂,但我会尽量简化:

您正在将8080主机端口绑定到80个容器端口。 所以,如果你在主机上执行一个curl localhost主机,这意味着你不是在容器内部调用Nginx服务,而是在* nix系统中调用80端口进程。 同样,如果您在容器中发送相同的命令,它将会工作,因为它已经暴露了容器内的默认http端口(80),但不在外面。 你可以通过调用curl localhost:8080来确认这个假设。 如果这个返回作为容器的命令,那是对的。

有没有可能理解?