23 Feb 2024, 10:57
เจอปัญหาเรื่อง Port ชนใน Docker แต่ไม่ได้มีการเรียกใช้ port นั้นเลยสัก service ก็เลยสงสัย ก็ปรากฎว่ามันไปอยู้ใน reserve port ของ WinNAT ซะงั้น
Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:5432 -> 0.0.0.0:0: listen tcp 0.0.0.0:5432: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
ให้ดูรายการ port ก่อนว่าถูกจองไว้ไหม
netsh interface ipv4 show excludedportrange protocol=tcp
ใช้ terminal สิทธิ์ admin สั่ง stop WinNet ไปก่อน
net stop winnat
จากนั้นถอดรายการ port ที่เราจะใช้ออก
netsh int ipv4 add excludedportrange protocol=tcp startport=5432 numberofports=1
จากนั้น start service WinNat กลับขึ้นมาคืน
net start winnat
แค่นี้ก็เรียบร้อยละ