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