【问题标题】:Docker run failed with Error response from daemonDocker 运行失败,来自守护进程的错误响应
【发布时间】:2016-12-20 05:33:33
【问题描述】:

我只需运行以下命令:

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

拉取所有图片后返回此错误:

docker:来自守护进程的错误响应:驱动程序外部编程失败 端点网络服务器上的连接 (ac5719bc0e95ead1a4ec6b6ae437c4c0b8a9600ee69ecf72e73f8d2d12020f97): 启动用户态代理时出错:绑定 0.0.0.0:80:意外错误 (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

如何解决这个问题?

【问题讨论】:

    标签: macos docker docker-for-mac docker-desktop


    【解决方案1】:

    您没有提供诸如 Docker 版本、系统或正在运行的 docker 进程等信息,因此我假设最有可能的情况。

    输出包含:Failure EADDRINUSE。这意味着端口80 被其他东西使用。您可以使用lsof -i TCP:80 检查哪个进程正在侦听该端口。如果端口上没有运行任何东西,则可能是 Docker 存在问题。例如not releasing ports immediately

    【讨论】:

    • 经过一番研究,我找到了解决方案。我将 dns 端口更改为 8.8.8.8 并开始工作。在 Mac 上转到系统偏好设置-> 网络 -> 选择已连接的网络-> 高级-> DNS-> 并添加一个端口 8.8.8.8 即可。
    • 我遇到了同样的问题并尝试了这个解决方案,但没有奏效。这对我有用sudo apachectl stop 然后运行 ​​docker。希望对您有所帮助。
    • @Salam 所以 Apache 正在该端口上运行,正如我在答案中所写的那样
    猜你喜欢
    • 2019-04-30
    • 2020-01-11
    • 1970-01-01
    • 2018-05-28
    • 2019-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多