主机论坛_虚拟主机_美国主机_美国虚拟主机_云主机技术_全球主机交流聚集地—Web Hosting Talk 中文站

找回密码
立即注册
发新帖

0

收听

4

听众

547

主题
发表于 2022-2-14 14:11:01 | 查看: 79| 回复: 0

开始之前某个 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 \    &amp;&amp; apt-get install -y supervisor nginx \    &amp;&amp; apt-get clean \    &amp;&amp; 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 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 选项, 指定仓库地址,默认为pypi.org/simple,**速度很慢**建议使用国内仓库。参考文章

doker&amp;k8s Qun [703906133]



企业专线-MPLS VPN-SDWAN组网-云专线http://www.elinkcloud.cn/

收藏回复 显示全部楼层 道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|小黑屋|WebHostingTalk中文站

GMT+8, 2024-5-3 13:45 , Processed in 0.067038 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表