【问题标题】:Error starting userland proxy: Bind for 0.0.0.0:8080: unexpected error Permission denied启动用户态代理时出错:绑定 0.0.0.0:8080:意外错误权限被拒绝
【发布时间】:2018-09-21 04:51:19
【问题描述】:

我在 Windows 10 上

运行命令:docker container run -d -p 8080:80 --name mysql -e MYSQL_RANDOM_ROOT_PASSWORD=true mysql

但我收到此错误:

docker:来自守护进程的错误响应:驱动程序在端点 mysql 上编程外部连接失败(969f8eac66c92e42a4f19f6f28eec72c6802fea1eabed48dfb382c6a35cbb2ce)启动用户级代理时出错:绑定 0.0.0.0:8080:意外错误权限被拒绝。

需要帮助。

【问题讨论】:

  • 尝试另一个端口
  • 某些东西可能已经在端口 8080 上运行
  • 有什么方法可以不用更改端口。我的意思是如何使端口 8080 可用?
  • 使用netstat -a -n -o

标签: docker docker-compose


【解决方案1】:

此错误通常是因为您指定的端口已在使用中。有时是因为当前用户没有管理权限。

如果您不特别需要端口 80,请尝试使用端口 8000 或 8080。

docker 容器运行 -d -p 8080:8000 --name mysql -e MYSQL_RANDOM_ROOT_PASSWORD=true mysql

如果这不能解决问题,请尝试在 sudo 中执行命令,因为某些端口受系统保护并且需要具有管理员权限的用户。

【讨论】:

    【解决方案2】:

    在您不确定主机上哪个端口可用的所有此类情况下,
    您可以尝试在运行映像时使用 -P 选项,然后使用 docker port 查看它与哪个端口绑定。

    #>docker container run -d -P --name mysql -e MYSQL_RANDOM_ROOT_PASSWORD=true mysql
    
    #>docker port mysql
    3306/tcp -> 0.0.0.0:32768
    docker@default:~$
    

    在此之后,您知道哪个端口是空闲的,然后您可以选择那个端口并使用您常用的命令。

    #>docker container run -d -p 32768:80 --name mysql -e MYSQL_RANDOM_ROOT_PASSWORD=true mysql
    

    但是我认为,而不是 80 - 您必须公开 3306 端口 - 因为默认的 mysql 不提供 Web 界面。

    Adminer(以前的 phpMinAdmin)是一个不同的应用程序,它提供了嵌入它的 mysql 服务器。

    【讨论】:

      猜你喜欢
      • 2018-03-13
      • 2018-03-13
      • 1970-01-01
      • 1970-01-01
      • 2021-10-30
      • 2020-10-11
      • 2019-03-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多