无法在localhost:80上访问容器的Web服务器

我无法在localhost:80上访问容器的web服务器,但是我可以访问127.0.0.1:80上的web服务器。

我究竟做错了什么?

我有在Mac上安装的docker版本1.12.2-rc1-beta27(内部版本:12496)。

我用命令docker run -d -p 80:80 training/webapp python app.py一个容器docker run -d -p 80:80 training/webapp python app.py

该容器具有以下属性

 $docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES baaf4676e548 training/webapp "python app.py" 22 minutes ago Up 22 minutes 0.0.0.0:80->5000/tcp big_volhard 

我的理解是我应该能够访问localhost:80的网站。

这不起作用。 我收到错误消息

 Could not get any response 

我知道我正在使用Docker for Mac,因为我运行了命令env | grep DOCKER env | grep DOCKER ,它不返回任何输出。

第一次更新:我的/etc/hosts看起来像:

 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost 

第二次更新:我也注意到,当我使用命令docker run -d -P training/webapp python app.py运行容器时,则localhost:autoGeneratedPortNumber起作用。

现在我不知道为什么两个命令(或多或less是相同的,唯一的区别是在一个端口号被指定)有不同的效果。