docker: Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:3306 -> 0.0.0.0:0: listen tcp 0.0.0.0:3306: bind: An attempt was made to access a socket in a way forbidden by its access permissions.

第一步:打开子系统的命令行终端,检查是否会显示消息【wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 local】

解决方法:

打开的C:\Users\<你的用户名>目录,创建一个文件,命名为.wslconfig,写入下面代码:

[experimental]
autoMemoryReclaim=gradual  
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true

然后在命令行执行:

wsl --shutdown

第二步:

重新打开子系,等待加载为下图

第三步:

打开命令行管理员模式

输入以下代码:

net stop winnat
net start winnat

然后即可安装mysql

docker run --name mysql `
-p 3306:3306 `
-e MYSQL_ROOT_HOST='%' `
-e MYSQL_ROOT_PASSWORD=root `
-d mysql:5.7.36

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐