You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

docker-proxy持续占用端口导致docker-compose无法启动服务如何解决

解决方案
  • 第一步:排查全局所有容器,确认是否有其他容器占用9000端口
    docker-compose ps仅会查询当前工作目录下docker-compose.yml对应的容器,其他目录启动的容器、手动运行的容器不会展示,执行以下命令排查全局容器:
docker ps -a | grep 9000

如果查询到对应容器,直接强制删除即可释放端口:

docker rm -f <查询到的容器ID>
  • 第二步:清理Docker残留网络资源
    如果第一步没有查到对应容器,说明是之前容器异常退出时,Docker网络栈残留了端口映射配置,导致docker-proxy进程被误拉起:
  1. 停止Docker相关服务
sudo systemctl stop docker
sudo systemctl stop docker.socket
  1. 杀掉残留的docker-proxy进程
# 杀掉占用9000端口的指定进程
sudo kill -9 18924
# 也可以批量清理所有docker-proxy残留进程
sudo pkill -9 docker-proxy
  1. 删除Docker本地网络状态缓存文件
sudo rm -rf /var/lib/docker/network/files/local-kv.db
  1. 重启Docker服务
sudo systemctl start docker

操作完成后再执行docker-compose up -d即可正常启动。

补充说明:如果临时需要快速启动服务,也可以直接修改docker-compose.yml中php服务的端口映射规则,将宿主机端口改为其他未被占用的端口(如9001)即可绕过该问题。


内容的提问来源于stack exchange,提问作者Morad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 19:39:03