当我运行 Dockerized Django 项目时,网页不会显示

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

我正在尝试 Dockerize Django 项目,但运行容器时网页不会显示。但是,当我运行

docker compose up --build
时,我在终端中没有收到任何错误。我已在 Docker Desktop 上确认我的容器存在并正在运行。

我收到的错误是 ERR_ADDRESS_INVALID,表示无法访问该网站。

这是我的 Dockerfile 的样子:

FROM python:3

ENV PYTHONUNBUFFERED=1

RUN apt-get update && apt-get install -y libpq-dev

WORKDIR /app

COPY requirements.txt .

RUN pip install -r requirements.txt

COPY . .

EXPOSE 8000

CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

我尝试将“0.0.0.0:8000”添加到 CMD,但这也不起作用。

这是我的 docker-compose.yml 文件:

version: "3"

services:
  web:
    build: 
      context: .
      dockerfile: Dockerfile
    ports:
      - "8000:8000"

最后这是我的requirements.txt 文件:

asgiref==3.6.0
Django==4.2.1
djangorestframework==3.14.0
psycopg2==2.9.6
pytz==2023.3
sqlparse==0.4.4
tzdata==2023.3

在网上和 YouTube 上查找问题后,我不确定问题是什么,因为看起来我已经拥有了我需要的一切。

python django docker
2个回答
0
投票

您没有提供足够的信息来查看问题所在。

但请确保您遵循所有这些步骤:

  1. 检查容器日志:使用

    docker logs
    命令检查容器的日志并确保其正确启动

  2. 检查是否有防火墙阻挡该端口

    ufw status
    并允许该端口
    ufw allow 8000

  3. 检查 Django 设置:确保您的 Django 设置配置正确。具体来说,请检查您的 ALLOWED_HOSTS 设置是否包含您尝试访问应用程序的域或 IP 地址。如果启用了 HTTPS,您还应该检查 SSL 和安全设置。

您可以在此处找到 django 设置中的完整选项: https://docs.djangoproject.com/en/dev/ref/settings/


0
投票
  1. 首先检查你的setting.py文件并设置ALLOWED_HOSTS = ['*']

  2. 您尝试在哪台机器上运行 docker 容器

    a 如果您使用的是 ec2,请尝试:http://{ec2-ipaddress}:8000

    b 如果您在使用 docker 的本地系统上,请尝试: http://{ip-address-of-local-machine}:8000

如果您尝试在 http://127.0.0.1:8000 -> 上运行它,它将无法工作。

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