问题:
执行docker run后出现以下报错
(HTTP code 500) server error - Ports are not available: listen tcp 0.0.0.0:11211: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
原因是使用了hyper-V的保留端口
# 查看hyper-v启动后的保留端口范围
netsh interface ipv4 show excludedportrange protocol=tcp
协议 tcp 端口排除范围
开始端口 结束端口
---------- --------
1026 1125
1226 1325
1326 1425
1426 1525
1526 1625
2180 2279
...
# 通过这个可以查看被占用的项目端口是否在这个范围内
解决办法:
管理员权限运行cmd后按以下步骤输入命令并运行docker
1.停止Windows NAT 驱动程序
net stop winnat
2.启动容器
docker start ...
3.开启Windows NAT 驱动程序
net start winnat
参考: