Django容器(上): 自定义基础镜像
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,开始之前某个 Python 项目,基于 Python:3.6 与 Django:1.11 框架开发,希望项目能够容器化,然后可以通过 docker-compose 等工具编排容器/应用,本篇文章的目标
千家信息网最后更新 2026年10月31日Django容器(上): 自定义基础镜像
开始之前
某个 Python 项目,基于 Python:3.6 与 Django:1.11 框架开发,希望项目能够容器化,然后可以通过 docker-compose 等工具编排容器/应用,本篇文章的目标是自定义Django基础镜像。
与《为什么需要自定义一个基础镜像?》文章相同,基础镜像作用是为项目镜像提供支持。它构建在 Python 官方镜像之上,添加项目一些需要的扩展模块,例如 Django、pymysql、Gunicorn等常用模块,具体以项目实际需求为准。
最后为能够高效的处理静态文件请求,使用 Nginx 反向代理 Django 应用,不过这是下一篇文章要讲的了,《Django容器(下): 使用Gunicorn管理Django》,敬请期待 公众号每周四 docker专题更新文章。。
环境描述
容器镜像: python:3.6容器系统: debian 9 (stretch)Docker版本: CE - 17.06.0Docker主机: Ubuntu Server 16.04操作步骤
- 基础镜像构建目录
tree base/base/├── conf│ ├── 404.html│ ├── default.conf│ ├── nginx.conf│ ├── requirements.txt│ ├── sources.list│ ├── ssl│ │ ├── domain.crt│ │ └── domain.key│ └── supervisord.conf└── `Dockerfile`2 directories, 9 files- 基础镜像 Dockerfile 文件
cat base/Dockerfile# start-baseFROM python:3.6MAINTAINER dongnan #<@微信公众号:运维录># aptCOPY conf/sources.list /etc/apt/sources.listRUN apt-get update \ && apt-get install -y supervisor nginx \ && apt-get clean \ && rm -r /var/lib/apt/lists/*# envENV TZ=Asia/Shanghai \ LANG=en_US.UTF-8# django COPY conf/requirements.txt /root/RUN pip --no-cache-dir install -r /root/requirements.txt -i https://mirrors.aliyun.com/pypi/simple/这个 Dockerfile 很短,因为是项目基础镜像,只做一些基础工作就可以了。
它首先安装 supervisor nginx 软件包,然后是设置容器的环境变量。
最后使用 pip 安装项目依赖,django 、pymysql 都在 requirements.txt 这个文件中定义。
- 构建镜像
docker build -t start-base .Sending build context to Docker daemon 767kBStep 1/8 : FROM python:3.6# ...省略Successfully built fc3f6f242301Successfully tagged start-base- 验证镜像
基础镜像准备完毕后,就可以在项目镜像使用了,这里没有为基础镜像添加 TAG 标记,所以它是默认的 latest 。
docker images --format "{{.Repository}} {{.Tag}}" start-base latest小结
最后来总结下文章中的知识点
- 基础镜像作用是为
项目镜像提供支持,并在基础镜像之上添加项目代码,完成项目镜像构建工作。 - 使用
supervisor在容器中管理nginx、gunicorn (python WSGI Server)进程。 pip是python包管理工具,该工具提供了对python包的查找、下载、安装、卸载的功能。pip -i选项, 指定仓库地址,默认为 https://pypi.org/simple,**速度很慢**建议使用国内仓库。
参考文章
doker&k8s Qun [703906133]
镜像
基础
项目
容器
文章
工具
文件
管理
仓库
作用
模块
环境
工作
应用
支持
相同
专题
主机
代码
公众
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡网
精品咖啡豆
湖北九亚互联网络科技有限公司
互联网科技官网
互联网科技保险
奇士达互联网科技
深圳艾佳互联网科技
互联网公司会议桌创意科技软装饰
海南科技产业互联网平台
互联网科技公司的市场部门
互联网科技产品
宁波青枫互联网科技有限公司
小米互联网科技园设置
互联网时代科技改变生活
互联网科技和法律行业
山东子淼互联网科技有限公司
风投北京互联网科技
数字互联网科技有限公司
黑龙江互联网科技公司
瑞安市蟠桃会互联网科技有限公司
互联网科技有限公司
科技赋能下的互联网金融
深圳恒合互联网络科技有限公司
互联网科技ppt模板
菲比寻常互联网科技
互联网科技博客
银川新华互联网科技职业技术培训学校图片
苏州五指互联网络科技有限
互联网科技融合创新
玉溪新华互联网科技怎么选