该镜像已***弃用,推荐使用标准python镜像替代,2016年12月31日后将不再接收更新。请相应调整您的使用方式。
对于该镜像的大多数使用场景,Django实际上并非从此镜像获取,而是来自项目的requirements.txt,因此其唯一“价值”是预安装了mysql-client、postgresql-client和sqlite3,用于Django框架的各种使用场景。
例如,以下Dockerfile可作为使用PostgreSQL的Django项目的良好起点:
dockerfileFROM python:3.4 RUN apt-get update \ && apt-get install -y --no-install-recommends \ postgresql-client \ && rm -rf /var/lib/apt/lists/* WORKDIR /usr/src/app COPY requirements.txt ./ RUN pip install -r requirements.txt COPY . . EXPOSE 8000 CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
Dockerfile链接1.10.4-python3, 1.10-python3, 1-python3, python3, 1.10.4, 1.10, 1, latest (3.4/Dockerfile)python3-onbuild, onbuild (3.4/onbuild/Dockerfile)1.10.4-python2, 1.10-python2, 1-python2, python2 (2.7/Dockerfile)python2-onbuild (2.7/onbuild/Dockerfile)获取帮助的途径:
Docker社区论坛、Docker社区Slack 或 Stack Overflow
提交问题的地址:
[***]
维护者:
Docker社区
镜像 artifact 详情:
repo-info 仓库的repos/django/目录(历史记录)
(镜像元数据、传输大小等)
镜像更新:
带有library/django标签的 official-images PR
official-images 仓库的library/django文件(历史记录)
本描述的来源:
docs 仓库的django/目录(历史记录)
支持的 Docker 版本:
最新版本(尽最大努力支持低至1.6版本)
Django 是一个免费开源的 Web 应用框架,使用 Python 编写,遵循模型-视图-控制器(MVC)架构模式。Django 的主要目标是简化复杂的、数据库驱动网站的创建,强调组件的可重用性和“可插拔性”。
***.org/wiki/Django_(web_framework)
!logo
DockerfiledockerfileFROM django:onbuild
将此文件放在应用根目录,与requirements.txt同级。
该镜像包含多个ONBUILD触发器,可覆盖大多数应用场景。构建过程会执行COPY . /usr/src/app、RUN pip install、EXPOSE 8000,并将默认命令设置为python manage.py runserver。
然后可以构建并运行 Docker 镜像:
console$ docker build -t my-django-app . $ docker run --name some-django-app -d my-django-app
可通过浏览器访问[***]进行测试;若需从主机外部访问,可使用以下命令在http://localhost:8000访问:
console$ docker run --name some-django-app -p 8000:8000 -d my-django-app
Dockerfile当然,若不想使用便捷的ONBUILD触发器,也可直接使用docker run命令,无需在项目中添加Dockerfile:
console$ docker run --name some-django-app -v "$PWD":/usr/src/app -w /usr/src/app -p 8000:8000 -d django bash -c "pip install -r requirements.txt && python manage.py runserver 0.0.0.0:8000"
若要生成新 Django 项目的脚手架,可执行以下命令:
console$ docker run -it --rm --user "$(id -u):$(id -g)" -v "$PWD":/usr/src/app -w /usr/src/app django django-admin.py startproject mysite
这将在当前目录下创建名为mysite的子目录。
django镜像有多种变体,适用于不同使用场景。
django:<version>这是默认镜像。若不确定需求,建议使用此变体。它既可作为临时容器(挂载源代码并启动容器以运行应用),也可作为构建其他镜像的基础。
django:onbuild此镜像简化了衍生镜像的构建。对于大多数场景,在项目根目录创建包含FROM django:onbuild的Dockerfile,即可快速创建独立的项目镜像。
虽然onbuild变体有助于“快速启动”(短时间内实现 Docker 化),但不建议在项目中长期使用,因为无法控制ONBUILD触发器的执行时机(另见docker/docker#5714、docker/docker#8240、docker/docker#***)。
当熟悉项目在 Docker 中的运行方式后,建议调整Dockerfile,继承非onbuild变体,并将onbuild变体Dockerfile中的命令(将ONBUILD行移至末尾并移除ONBUILD关键字)复制到自己的文件中,以便更好地控制这些命令,同时提高Dockerfile的透明度,便于自己和他人理解其功能。这也能更轻松地添加额外需求(如在执行原ONBUILD步骤前安装更多包)。
查看此镜像中包含软件的许可证信息。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429