启动userland代理时出错:绑定0.0.0.0:8080:意外错误权限被拒绝

时间:2018-04-11 10:31:54

标签: docker docker-compose

我在Windows 10上

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

但是我收到了这个错误:

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

需要帮助。

2 个答案:

答案 0 :(得分:1)

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

如果您没有特别要求端口80,请尝试端口8000或8080。

docker container run -d -p 8080:8000 --name mysql -e MYSQL_RANDOM_ROOT_PASSWORD = true mysql

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

答案 1 :(得分:0)

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

#>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服务器。