用于 Jenkins-Agent 中的 PodTemplate 使用,内置 Python 的应用。
506
dragonzw/builder-python 是**dragonzw/builder-base 镜像的 Python 专项版本**,其核心作用是封装一个 定制化的 Python 构建基础环境,提供预安装的 Python 解释器、包管理工具与系统优化,用于作为“父镜像”快速构建 Python 应用的容器镜像(如安装依赖、运行测试、打包应用、生成最小化镜像)。
builder-base 镜像”信息)在之前的对话中,dragonzw/builder-base 镜像的定义明确提到:
pip 包管理器)、版本控制工具(git,用于拉取代码)、辅助工具(curl/wget 下载资源、jq 处理 JSON、tar 压缩产物)等;Dockerfile 继承 builder-base,用 pip install 安装依赖)。而**builder-python** 是**builder-base 的细分**,将“Python 构建”的能力独立封装,更聚焦 Python 开发者的需求。
dragonzw/builder-python 的具体功能(推断)基于“builder-base 的 Python 相关配置”和“Python 构建的常规需求”,builder-python 镜像应包含以下核心功能:
python-3.11);python/pip 路径)等环境变量;pip,预配置国内镜像源如 https://mirrors.aliyun.com/pypi/simple/,加速依赖下载);venv、virtualenv),支持隔离项目依赖。gcc、make、python3-dev,用于编译含 C 扩展的库,如 numpy、pandas);git,用于拉取 Python 项目源码);curl/wget 下载资源、jq 处理 JSON、tar 压缩产物);pytest、unittest)和代码检查工具(flake8、pylint)。alpine:3.19、ubuntu:22.04),体积精简(通常 < 250MB);TZ=Asia/Shanghai)、语言编码(LANG=C.UTF-8);/app/venv 存储虚拟环境、/app 存储源码、/root/.cache/pip 存储 pip 缓存);python 用户),提升安全性。dragonzw/builder-python 的核心价值是简化 Python 应用的容器化构建流程,适用于以下场景:
通过 Dockerfile 继承 builder-python,直接安装依赖、运行测试并生成镜像(无需重复安装 Python/pip):
# 继承 builder-python 镜像(假设标签为 python-3.11-pip)
FROM dragonzw/builder-python:python-3.11-pip
# 复制 Python 项目源码到容器
COPY ./src /app
# 切换到源码目录
WORKDIR /app
# 用预安装的 pip 安装依赖(读取 requirements.txt)
RUN pip install --no-cache-dir -r requirements.txt
# 运行测试(如 pytest)
RUN pytest tests/
# 设置容器启动命令(运行 Python 应用)
CMD ["python", "app.py"]
团队内所有成员使用同一 builder-python 镜像,避免因本地 Python 版本、pip 源、依赖差异导致的“构建不一致”问题(如“在我电脑上能运行”的困境)。
在 Jenkins、GitLab CI 等流水线中,用 builder-python 作为构建节点镜像,快速完成 Python 项目的依赖安装、测试(如 pytest)、打包(如生成 wheel 文件或静态资源)。
与 builder-base 的关系:
builder-python 是 builder-base 的Python 专项子集,功能更聚焦(仅保留 Python 相关工具),体积更小。若需构建多语言应用(如同时包含 Python 和 Java),仍可使用 builder-base。
非官方镜像的风险:
该镜像由个人(dragonzw)维护,稳定性、安全性不如官方 Python 镜像(如 python:3.11-alpine、python:3.9-slim)。生产环境建议优先使用官方 Python 镜像或基于官方镜像自行定制(如添加团队常用依赖)。
版本兼容性:
镜像标签(Tag)通常对应Python 版本(如 python-3.11)、pip 版本(如 pip-23)和基础系统版本(如 alpine-3.19),需确认与目标应用的兼容性(如 Python 项目是否支持该版本的解释器或依赖库)。
dragonzw/builder-python 是一个定制化的 Python 构建基础镜像,核心价值是将“Python 解释器+包管理工具+系统优化”打包为标准化环境,作为“父镜像”快速构建 Python 应用镜像。其定位适合Python 开发者简化构建流程、团队统一构建环境、CI/CD 流水线集成,是 builder-base 镜像的 Python 专项延伸。
Content type
Image
Digest
sha256:36f4670eb…
Size
461 MB
Last updated
6 months ago
docker pull dragonzw/builder-python:v3.2.0