基于 benyoo Alpine、CentOS Stream 9、Rocky Linux 9 的 Python 3.14.3 多架构运行镜像
545
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-YYYYMMDD | benyoo/alpine:3.24.20260615 | linux/amd64, linux/arm64 |
benyoo/python3:centos9-YYYYMMDD | benyoo/centos:9-stream-20260615 | linux/amd64, linux/arm64 |
benyoo/python3:rockylinux9-YYYYMMDD | benyoo/rockylinux:9-20260615 | linux/amd64, linux/arm64 |
已发布示例:
| Tag | Python 版本 | Digest |
|---|---|---|
alpine-20260617 | 3.14.3 | sha256:b7f746ea21ce5ef9c36ceffaf7688f87603e02fc5f265629a892c1d88f8df811 |
centos9-20260617 | 3.14.3 | sha256:2bcfff4100ffc890ed70158de8ba1d1b36501a81d1503155c0d68debbddd20e5 |
rockylinux9-20260617 | 3.14.3 | sha256: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
| 能力 | Alpine | CentOS Stream 9 | Rocky 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_NAME | benyoo/python3 | 输出镜像仓库名 |
DATE_TAG | 当前日期,格式为 YYYYMMDD | 镜像 tag 的日期后缀 |
PYTHON_VERSION | 3.14.3 | 需要编译安装的 Python 源码版本 |
PLATFORMS | linux/amd64,linux/arm64 | docker-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'
没有输出时,表示未发现上述常见构建残留。
linux/amd64 和 linux/arm64。PYTHON_VERSION 指定版本编译。_dbm、_gdbm、_tkinter、_zstd 扩展模块。Content type
Image
Digest
sha256:2bcfff410…
Size
88.1 MB
Last updated
4 months ago
docker pull benyoo/python3:centos9-20260617