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

問題:

執(zhí)行docker run后出現(xiàn)以下報錯

(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

協(xié)議 tcp 端口排除范圍

開始端口    結(jié)束端口
----------    --------
      1026        1125
      1226        1325
      1326        1425
      1426        1525
      1526        1625
      2180        2279 ... 
# 通過這個可以查看被占用的項目端口是否在這個范圍內(nèi)</pre>

解決辦法:

管理員權(quán)限運行cmd后按以下步驟輸入命令并運行docker

1.停止Windows NAT 驅(qū)動程序
net stop winnat

2.啟動容器
docker start ... 

3.開啟Windows NAT 驅(qū)動程序</pre>

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)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容