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

Docker 启动userland代理时出错:0.0.0.0:8080的绑定:意外错误权限被拒绝,docker,docker-compose,Docker,Docker Compose,我使用的是windows10 Running命令:docker container run-d-p8080:80-name mysql-e mysql\u RANDOM\u ROOT\u PASSWORD=true mysql 但我得到了这个错误: docker:来自守护程序的错误响应:驱动程序未能在终结点MySQL969F8EAC66C92E42A4F19F6F28EEC72C6802Fea1Eabed48DFB382C6A35CB2Ceerror启动userland代理:绑定0.0.0:80

我使用的是windows10

Running命令:docker container run-d-p8080:80-name mysql-e mysql\u RANDOM\u ROOT\u PASSWORD=true mysql

但我得到了这个错误:

docker:来自守护程序的错误响应:驱动程序未能在终结点MySQL969F8EAC66C92E42A4F19F6F28EEC72C6802Fea1Eabed48DFB382C6A35CB2Ceerror启动userland代理:绑定0.0.0:8080:意外错误权限被拒绝


需要帮助。

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

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

docker容器run-d-p8080:8000-name mysql-e mysql\u RANDOM\u ROOT\u PASSWORD=true mysql


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

在所有这些情况下,如果您不确定主机上的哪个端口是空闲的,您可以在运行映像时尝试使用-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服务器。

在另一个端口上尝试端口8080上可能已经在运行。是否有任何方法不必更改端口。我的意思是如何使8080端口可用?用法netstat-a-n-o