You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:如何运行包含Django项目的Docker容器?

运行Django项目Docker容器的标准配置方案

一、标准Dockerfile模板

替换你当前的Dockerfile为以下经过验证的配置:

# 基于官方Python slim镜像(轻量且包含必要依赖)
FROM python:3.11-slim

# 设置容器内的工作目录
WORKDIR /app

# 先复制requirements.txt,利用Docker缓存优化构建速度
COPY requirements.txt .

# 安装项目依赖,添加国内镜像源提升安装速度
RUN pip install --no-cache-dir -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

# 复制整个Django项目到容器内
COPY . .

# 暴露Django默认的8000端口
EXPOSE 8000

# 启动Django开发服务器,绑定0.0.0.0允许外部访问
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

二、必备前置文件

  • requirements.txt:项目根目录必须包含该文件,列出所有依赖包,示例内容:
Django>=4.2
# 若有其他依赖(比如mysqlclient、redis等)也需添加

本地环境生成该文件的命令:pip freeze > requirements.txt

三、构建与运行步骤

  1. 构建Docker镜像:
docker build -t django-demo .
  1. 启动容器:
docker run -p 8000:8000 django-demo

如果需要本地代码修改后实时同步到容器:

docker run -p 8000:8000 -v $(pwd):/app django-demo

四、常见错误排查

  • 依赖安装失败:检查requirements.txt是否存在语法错误,或替换PyPI镜像源为国内源
  • 本地无法访问容器服务:确保Django启动命令绑定0.0.0.0(而非默认的127.0.0.1),且本地映射端口与容器暴露端口一致
  • 文件权限异常:Linux/macOS环境下,可在Dockerfile中添加RUN chmod -R 755 /app解决目录权限问题
  • 数据库连接失败:若使用外部数据库,需在Django的settings.py中配置正确的数据库主机地址(使用容器名或宿主机IP)

内容的提问来源于stack exchange,提问作者DMB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 19:31:23