我在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:意外错误权限被拒绝。
需要帮助。
答案 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服务器。