django - Docker django 运行服务器,但浏览器不显示登录页面
问题描述
我已经成功构建了 docker 并且服务器运行没有错误,但是当我浏览网站时它没有显示任何内容。
这是我正在使用的配置文件:
.env.dev
DEBUG=1
SECRET_KEY=foo
DJANGO_ALLOWED_HOSTS=localhost 127.0.0.1 [::1]
Dockerfile
FROM python:3.9.1-slim-buster
# set working directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
# install dependencies
RUN pip install --upgrade pip
COPY ./requirements.txt .
RUN pip install -r requirements.txt
# add app
COPY . .
docker-compose.yml
version: '3.8'
services:
movies:
build: ./app
command: python core/manage.py runserver 0.0.0.0:8000
volumes:
- ./app/:/usr/src/app/
ports:
- 8009:8000
env_file:
- ./app/.env.dev
知道为什么它不浏览吗?
解决方案
当您放置localhost
或127.0.0.1
作为允许的主机时,您指的是容器,而不是主机。因此,即使您将容器的端口链接到主机的端口,服务器也不会接受连接,因为它们不是来自容器 IP。
推荐阅读
- react-native - 如何在本机反应中与 Android 共享 url
- react-native - 我在 ExpoKit 下的 RNGestureHandler.h 文件中生成了构建错误。未知类型名称“RNGestureHandlerState”
- kotlin - Kotlin 中的 maxByOrNull 函数
- python - 在 python 中使用 4 阶 Runge Kutta 求解 3 个耦合非线性微分方程
- reactive-programming - 具有反应性扩展的阈值检测
- python - Tox 使用了错误的解释器
- firebase - 在 Android 的 Firebase 存储中按创建时间对项目进行排序
- arrays - 数组 bash 脚本中元素的大小
- html - 创建使用 css 自动调整大小的弹性框标签
- ios - 编译器在尝试删除所有快照侦听器时发现 nil