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

FastAPI部署Docker后无法访问URL问题求助

问题排查与解决方案

核心问题:docker-compose run 不默认映射端口

docker-compose run 命令启动容器时,不会自动加载docker-compose.yml中定义的ports端口映射,它的设计定位是一次性运行临时命令,而非启动长期对外提供服务的容器,这是导致浏览器无法访问的直接原因。

解决方案

方案1:改用 docker-compose up 启动服务

修改你的run.sh脚本为:

docker-compose build
docker-compose up immo

该命令会正常启用ports配置,将宿主机8000端口映射到容器内的8000端口,执行后即可访问http://127.0.0.1:8000/。

如果需要后台运行服务,添加-d参数:

docker-compose up -d immo

方案2:保留run.sh但添加端口映射参数

若必须使用docker-compose run,需加上--service-ports参数强制启用ports配置:

docker-compose build
docker-compose run --service-ports immo

额外检查项

  • 确认容器内服务监听地址正确:你Dockerfile中的CMD已经设置--host 0.0.0.0,确保了容器内服务可以被外部访问,这部分配置无问题。
  • 检查宿主机端口占用:使用lsof -i :8000(Linux/macOS)或netstat -ano | findstr :8000(Windows)查看8000端口是否被其他进程占用,若占用则修改docker-compose.yml中的端口映射(例如改为"8001:8000")。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 21:44:54