问题
最近用得好好的mysql容器启动不了,报了下面的错。
是的,报这个错误:ERROR: for mysql_redis_mysql5.7_1 Cannot start service mysql5.7: Ports are not available: listen tcp 0.0.0.0:3306: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
查看下启动后的保留端口范围:
PS C:\> netsh interface ipv4 show excludedportrange protocol=tcp
协议 tcp 端口排除范围
开始端口 结束端口
---------- --------
3109 3208
3209 3308
3309 3408
3778 3877
3878 3977
3978 4077
50000 50059 *
* - 管理的端口排除。
解决方法
以管理身份打开powershell
Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。
尝试新的跨平台 PowerShell https://aka.ms/pscore6
PS C:\WINDOWS\system32> net stop winnat
Windows NAT Driver 服务已成功停止。
PS C:\WINDOWS\system32> net start winnat
Windows NAT Driver 服务已经启动成功。
重新试试看,能否启动容器:
PS D:\docker_com\mysql_redis> docker-compose up -d
mysql_redis_redis_1 is up-to-date
Starting mysql_redis_mysql5.7_1 ... done
ok,可以了。