Docker运行失败,来自守护进程的错误响应

我只是运行

docker run -d -p 80:80 --name webserver nginx 

并拉动所有图像后返回此错误:

 docker: Error response from daemon: driver failed programming external connectivity on endpoint webserver (ac5719bc0e95ead1a4ec6b6ae437c4c0b8a9600ee69ecf72e73f8d2d12020f97): Error starting userland proxy: Bind for 0.0.0.0:80: unexpected error (Failure EADDRINUSE). 

这是我的docker版本信息

 Client: Version: 1.12.0 API version: 1.24 Go version: go1.6.3 Git commit: 8eab29e Built: Thu Jul 28 21:15:28 2016 OS/Arch: darwin/amd64 Server: Version: 1.12.0 API version: 1.24 Go version: go1.6.3 Git commit: 8eab29e Built: Thu Jul 28 21:15:28 2016 OS/Arch: linux/amd64 

如何解决这个问题?

您没有提供诸如Docker版本,系统或Docker进程等信息,因此我认为这是最有可能的情况。

输出包含: Failure EADDRINUSE 。 这意味着端口80被别的东西使用。 您可以使用lsof -i TCP:80来检查在该端口上侦听哪个进程。 如果端口上没有任何东西在运行,那么Doc​​ker可能会遇到一些问题。 比如没有立即释放端口的那个。