启动容器是时以下错误:

(HTTP code 500) server error - 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.

检查win端口是否占用(示例5432端口):

netstat -ano | findstr :5432

如果没有进程占用端口,那应该是系统Hyper-V动态分配端口占用了,可以使用以下方式释放:

  1. 首先停用winnat
net stop winnat
  1. 启动容器(或者界面应用中打开)
docker start container_name
  1. 恢复winnat
net start winnat

参考:

Windows Docker 端口占用错误解决

Ports are not available: listen tcp 0.0.0.0/50070: bind: An attempt was made to access a socket in a way forbidden by its access permissions