Docker端口转发问题求助:一整天无法连接容器
解决Docker端口转发无法连接容器的问题
先揪出你卡壳的核心原因:你一直在尝试访问127.0.0.1:80,但从docker ps的输出和你的docker-compose.yml配置来看,容器的80端口其实是映射到宿主机的8000端口,不是80端口——这就是你一整天连不上的关键。
具体拆解下
- 从
docker ps的输出能明确看到:127.0.0.1:8000->80/tcp,这个格式的意思是「宿主机的127.0.0.1:8000,会把请求转发到容器内部的80端口」。 - 你的
docker-compose.yml里也写得很清楚:"127.0.0.1:8000:80",Docker端口映射的规则就是宿主机地址:宿主机端口:容器端口。
快速修复方案
直接访问127.0.0.1:8000,就能正常连接到容器里的服务了。
要是想改成访问80端口怎么办?
修改docker-compose.yml里的ports配置,把宿主机端口换成80就行:
version: '3' services: web: build: context: . dockerfile: /django.testsite/Dockerfile ports: - "127.0.0.1:80:80"
改完后执行docker-compose down && docker-compose up -d重启服务,之后就能通过127.0.0.1:80访问了。
额外提醒:如果宿主机的80端口已经被其他服务(比如Nginx、Apache)占用,修改后容器可能启动失败,这时得先停掉占用80端口的服务,或者换一个没被用的宿主机端口。
内容的提问来源于stack exchange,提问作者S. Dior
相关产品推荐
相关产品推荐

