如何从本地机器访问Docker容器内的Django站点?
解决Docker容器内Django站点本地访问问题
修改Django启动命令:
Django开发服务器默认绑定127.0.0.1,仅允许容器内部访问,必须改为绑定0.0.0.0才能对外提供服务。启动命令调整为:python manage.py runserver 0.0.0.0:8000若使用Dockerfile,需将CMD/ENTRYPOINT配置为该命令;若用docker-compose,在服务的
command字段指定此命令。确认端口映射配置:
检查docker-compose.yml的端口映射规则,确保为本地端口:容器端口格式,示例:services: web: build: . ports: - "8000:8000"左侧是本地机器的端口,右侧是容器内Django服务监听的端口。
正确访问站点:
无需使用容器内部IP(172.28.0.4),直接在本地浏览器访问http://localhost:8000或http://你的本地IP地址:8000即可。排查额外问题:
- 检查本地防火墙是否拦截8000端口,可临时关闭防火墙测试或添加端口放行规则。
- 用
docker ps确认容器处于运行状态,未意外退出。 - 用
docker logs <容器名称/ID>查看容器日志,排查Django服务启动是否有报错。
内容的提问来源于stack exchange,提问作者maxsptz
相关产品推荐
相关产品推荐

