报错:端口一直被占用,改成任意端口,均提示被占用,netstat -nltp和ss -nltp均看不到端口被占用的情况

docker start safeline-mgt
Error response from daemon: driver failed programming external connectivity on endpoint safeline-mgt (f13be68369ecc78ddeaa8c88ca54eea955634d7cc111664b6a51580bb27c01a6): Error starting userland proxy: listen tcp [::]:9443: bind: address already in use
Error: failed to start containers: safeline-mgt

原因:

Docker 端口绑定的「幽灵端口」问题,核心原因是 Docker 自身的网络命名空间残留或内核端口状态异常。
问题分析
这种情况常见于:
容器异常退出后,Docker 没有释放端口的绑定记录(内核的 TIME_WAIT/FIN_WAIT 状态端口);
Docker 的 userland-proxy 进程异常,导致端口绑定检测误判;
内核的 net.ipv4.ip_local_port_range 配置限制,或 IPv6 端口绑定冲突。

实际就是IPV6的原因。

修改官方的compose.yaml文件

image.png

如图的地方,加上0.0.0.0:

# 回到 safeline 目录,重新启动
docker-compose up -d mgt

# 检查容器状态
docker-compose ps mgt

问题解决。