Docker django 运行服务器但浏览器不显示登陆页面

问题描述 投票:0回答:2

我已经成功构建了 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

知道为什么它不浏览吗?

django docker
2个回答
1
投票

当您将

localhost
127.0.0.1
作为允许的主机时,您指的是容器,而不是主机。因此,即使您将容器的端口链接到主机的端口,服务器也不会接受连接,因为它们不是来自容器 IP。


0
投票

step 1:
docker 检查 97a0c720c605 | grep "IP 地址" *** 查找容器ip
step 2:
python3 manage.py runserver 172.17.0.2:8000“例如 ip chageable” *** 通过ip容器在容器中启动django
step 3:
系统中的lcoal主机和端口容器

在浏览器中: localhost: -> 查找容器 -> 请求 容器(ip步骤1)

© www.soinside.com 2019 - 2024. All rights reserved.