windows下docker容器啟動時提示端口不可用的解決辦法


問題:

執行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

 

參考:

Unable to bind ports: Docker-for-Windows & Hyper-V excluding but not using important port ranges · Issue #3171 · docker/for-win (github.com)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM