使用docker compose up启动服务无法通过localhost访问如何解决?
问题根因
- 端口映射配置错误:当前docker-compose.yml中ports配置为
3000:80,但容器内FastAPI服务实际监听的是3000端口,而非80端口,端口映射不匹配导致无法访问。你直接执行docker run时用的是-p 3000:3000,所以可以正常访问。 - docker-compose.yml语法缩进错误:文件中
services字段缩进层级错误,build下的context、dockerfile也没有正确缩进,导致配置未生效。
修正后的docker-compose.yml配置
version: '3' services: simple: build: context: . dockerfile: Dockerfile container_name: simple ports: - 3000:3000 environment: - SOMEKEY=ABCD - ANOTHERKEY=EFG
生效步骤
- 先停止并删除原有compose启动的容器:
docker compose down - 重新带构建启动服务:
docker compose up --build
启动完成后即可通过http://localhost:3000正常访问接口。
内容的提问来源于stack exchange,提问作者Chipe
相关产品推荐
相关产品推荐

