Sign inSign up

benyoo/python3

By benyoo

•Updated 4 months ago

基于 benyoo Alpine、CentOS Stream 9、Rocky Linux 9 的 Python 3.14.3 多架构运行镜像

Image
0

545

benyoo/python3 repository overview

⁠benyoo/python3

Docker Arch Python Base

⁠项目简介

benyoo/python3 是基于 benyoo Linux 基础镜像构建的 Python 3 运行环境镜像。

该项目提供 Alpine、CentOS Stream 9、Rocky Linux 9 三类基础系统的 Python 3 镜像,适合用于 Python 应用运行、自动化脚本、CI 任务、容器化服务入口和需要固定 Python 版本的运行环境。

当前默认版本:

Python 3.14.3
pip 25.3

⁠镜像标签

镜像基础镜像支持架构
benyoo/python3:alpine-YYYYMMDDbenyoo/alpine:3.24.20260615linux/amd64, linux/arm64
benyoo/python3:centos9-YYYYMMDDbenyoo/centos:9-stream-20260615linux/amd64, linux/arm64
benyoo/python3:rockylinux9-YYYYMMDDbenyoo/rockylinux:9-20260615linux/amd64, linux/arm64

已发布示例:

TagPython 版本Digest
alpine-202606173.14.3sha256:b7f746ea21ce5ef9c36ceffaf7688f87603e02fc5f265629a892c1d88f8df811
centos9-202606173.14.3sha256:2bcfff4100ffc890ed70158de8ba1d1b36501a81d1503155c0d68debbddd20e5
rockylinux9-202606173.14.3sha256:8d02e2faf18065395b170afc565743d183e1453c529abbb7744dfd5f8479e3c1

⁠快速开始

运行 Alpine 版本:

docker run --rm \
    benyoo/python3:alpine-20260617 \
    python3 --version

运行 CentOS Stream 9 版本:

docker run --rm \
    benyoo/python3:centos9-20260617 \
    python3 --version

运行 Rocky Linux 9 版本:

docker run --rm \
    benyoo/python3:rockylinux9-20260617 \
    python3 --version

期望输出:

Python 3.14.3

⁠使用示例

执行一段 Python 命令:

docker run --rm \
    benyoo/python3:alpine-20260617 \
    python3 -c 'import sys; print(sys.version)'

运行当前目录下的脚本:

docker run --rm \
    -v "$PWD:/work" \
    -w /work \
    benyoo/python3:centos9-20260617 \
    python3 app.py

运行前安装依赖:

docker run --rm \
    -v "$PWD:/work" \
    -w /work \
    benyoo/python3:rockylinux9-20260617 \
    sh -c 'pip3 install -r requirements.txt && python3 app.py'

使用 python 和 pip 别名:

docker run --rm \
    benyoo/python3:alpine-20260617 \
    sh -c 'python --version && pip --version'

进入交互式 Shell:

docker run --rm -it \
    benyoo/python3:centos9-20260617 \
    bash

⁠运行能力

能力AlpineCentOS Stream 9Rocky Linux 9
python3支持支持支持
python 别名支持支持支持
pip3支持支持支持
pip 别名支持支持支持
ssl / hashlib支持支持支持
sqlite3支持支持支持
bz2 / lzma支持支持支持
readline / curses支持支持支持
decimal支持支持支持
uuid支持支持支持

⁠从源码构建

本项目使用 Docker Buildx 构建镜像,默认构建 linux/amd64 和 linux/arm64 两种架构。

预览构建计划:

DATE_TAG="20260617" \
PYTHON_VERSION="3.14.3" \
make dry-run

构建镜像:

DATE_TAG="20260617" \
PYTHON_VERSION="3.14.3" \
make build

构建并推送镜像:

DATE_TAG="20260617" \
PYTHON_VERSION="3.14.3" \
make push

查看已推送镜像的 Manifest:

DATE_TAG="20260617" \
make inspect

⁠构建参数

参数默认值说明
IMAGE_NAMEbenyoo/python3输出镜像仓库名
DATE_TAG当前日期,格式为 YYYYMMDD镜像 tag 的日期后缀
PYTHON_VERSION3.14.3需要编译安装的 Python 源码版本
PLATFORMSlinux/amd64,linux/arm64docker-bake.hcl 中定义的目标架构

镜像 tag 由 IMAGE_NAME、系统类型和 DATE_TAG 组成:

${IMAGE_NAME}:alpine-${DATE_TAG}
${IMAGE_NAME}:centos9-${DATE_TAG}
${IMAGE_NAME}:rockylinux9-${DATE_TAG}

示例:

IMAGE_NAME="benyoo/python3" \
DATE_TAG="20260617" \
PYTHON_VERSION="3.14.3" \
make build

⁠验证方式

检查镜像架构:

docker buildx imagetools inspect benyoo/python3:alpine-20260617
docker buildx imagetools inspect benyoo/python3:centos9-20260617
docker buildx imagetools inspect benyoo/python3:rockylinux9-20260617

检查 Python 和 pip:

docker run --rm benyoo/python3:alpine-20260617 sh -c 'python3 --version && pip3 --version'
docker run --rm benyoo/python3:centos9-20260617 sh -c 'python3 --version && pip3 --version'
docker run --rm benyoo/python3:rockylinux9-20260617 sh -c 'python3 --version && pip3 --version'

检查常用模块:

docker run --rm benyoo/python3:alpine-20260617 \
    python3 -c 'import ssl, sqlite3, bz2, lzma, uuid, readline, curses, decimal; print("ok")'

docker run --rm benyoo/python3:centos9-20260617 \
    python3 -c 'import ssl, sqlite3, bz2, lzma, uuid, readline, curses, decimal; print("ok")'

docker run --rm benyoo/python3:rockylinux9-20260617 \
    python3 -c 'import ssl, sqlite3, bz2, lzma, uuid, readline, curses, decimal; print("ok")'

⁠镜像清理策略

镜像采用多阶段构建,最终运行镜像不会保留编译工具链、Python 源码目录、构建目录和包管理器缓存。

构建过程中会清理:

清理项说明
Python 源码目录避免将源码和构建目录带入运行镜像
标准库测试目录减少运行镜像体积
__pycache__删除字节码缓存目录
*.pyc / *.pyo删除字节码文件
*.a删除静态库文件
包管理器缓存避免缓存导致镜像膨胀
临时目录删除构建期间产生的临时文件

可以用下面的命令检查常见残留:

docker run --rm benyoo/python3:alpine-20260617 \
    sh -c 'find /usr/local \( -type d \( -name test -o -name tests -o -name __pycache__ \) -o -type f \( -name "*.pyc" -o -name "*.pyo" -o -name "*.a" \) \) -print -quit'

没有输出时,表示未发现上述常见构建残留。

⁠注意事项

  • 文档命令默认在 root 或具备 Docker 权限的环境中执行。
  • 镜像发布架构为 linux/amd64 和 linux/arm64。
  • Python 来自官方源码包,并根据 PYTHON_VERSION 指定版本编译。
  • Alpine 版本当前包含 GNU dbm 支持。
  • 当前 CentOS Stream 9 和 Rocky Linux 9 发布镜像不包含 _dbm、_gdbm、_tkinter、_zstd 扩展模块。

Tag summary

Content type

Image

Digest

sha256:2bcfff410…

Size

88.1 MB

Last updated

4 months ago

docker pull benyoo/python3:centos9-20260617