首页/云/云与容器速查/端口冲突:Bind failed / address already in use
本包目录(340 条)

端口冲突:Bind failed / address already in use

宿主端口被占用时容器起不来:报 Bind for 0.0.0.0:8080 failed 或 address already in use。用 ss 找到占用进程,再决定换端口还是清理旧容器。

云与容器速查云更新于 2026-10-12
报错特征docker: Error response from daemon: ... port is already allocated
找占用ss -lntp | grep 8080 或 lsof -i :8080
常见元凶旧容器没删、宿主进程、另一个 compose 项目
容器间视角容器内端口冲突:同 Pod/同网络命名空间里两个进程抢端口
处置停旧容器/换宿主端口/改 compose 端口映射

定位与处置

定位与处置
ss -lntp | grep :8080
docker ps -a --filter publish=8080
docker rm -f old-web
docker run -d -p 8081:80 --name web nginx:1.27
K8s 里同一 Pod 的多个容器共享网络:端口冲突表现为容器起不来,排查命令要看 Pod 事件与容器日志。

易错点

  • nginx 残留进程占着 80:重启 docker 前先确认谁在监听
  • 换端口只改 -p 不改应用配置:应用仍监听旧端口,映射白做

数据来源与参考

  • Docker Docs:docker run(port mapping)
  • iproute2 文档(ss)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌