镜像概述和主要用途
注意:本仓库是https://hub.docker.com/_/python%E9%92%88%E5%AF%B9%60arm32v5%60%E6%9E%B6%E6%9E%84%E7%9A%84%22per-architecture%22%E6%9E%84%E5%BB%BA%E7%89%88%E6%9C%AC%E3%80%82%E6%9C%89%E5%85%B3%E6%9B%B4%E5%A4%9A%E4%BF%A1%E6%81%AF%EF%BC%8C%E8%AF%B7%E5%8F%82%E8%A7%81%E5%AE%98%E6%96%B9%E9%95%9C%E5%83%8F%E6%96%87%E6%A1%A3%E4%B8%AD%E7%9A%84https://github.com/docker-library/official-images#architectures-other-than-amd64%E5%92%8C%E5%AE%98%E6%96%B9%E9%95%9C%E5%83%8FFAQ%E4%B8%AD%E7%9A%84https://github.com/docker-library/faq#an-images-source-changed-in-git-now-what%E3%80%82
本镜像基于Debian操作系统,提供了在arm32v5架构设备上运行Python应用的轻量级、可移植环境。支持多个Python版本,包括稳定版和候选版本,并提供不同的镜像变体以满足各种应用需求。
核心功能和特性
Python语言特性
- 解释型、交互式、面向对象的开源编程语言
- 支持模块、异常处理、动态类型、高级动态数据类型和类
- 语法简洁清晰,兼具强大功能
- 可扩展,支持C/C++扩展,可作为应用程序的扩展语言
- 跨平台兼容,可在多种Unix变体、Mac和Windows上运行
Docker镜像特性
- 多版本支持:提供Python 3.9至3.15-rc等多个版本,满足不同应用的版本需求
- 多种镜像变体:包含默认变体(基于
buildpack-deps,包含常用依赖)和slim变体(最小化依赖,减小镜像体积)
- 架构优化:专为arm32v5架构构建,适合嵌入式设备和低功耗硬件
- 预配置环境:内置
pip包管理器,支持快速安装Python依赖
- 灵活部署:可作为应用基础镜像或直接运行Python脚本
使用场景和适用范围
- arm32v5架构设备:适用于树莓派(早期型号)、嵌入式系统、物联网(IoT)设备等arm32v5架构硬件
- Python应用部署:快速部署Python服务、后台程序或脚本
- 开发环境一致性:确保开发、测试和生产环境的一致性,避免"在我机器上能运行"问题
- 轻量级应用:使用
slim变体部署资源受限环境中的应用,减少存储空间占用
- CI/CD流程:集成到持续集成/持续部署流程中,作为Python应用的构建或运行环境
支持的标签及对应Dockerfile链接
简单标签(Simple Tags)
- https://github.com/docker-library/python/blob/303456576fd52b3e000639d5cfdf384442e730d7/3.15-rc/trixie/Dockerfile
- https://github.com/docker-library/python/blob/303456576fd52b3e000639d5cfdf384442e730d7/3.15-rc/slim-trixie/Dockerfile
- https://github.com/docker-library/python/blob/303456576fd52b3e000639d5cfdf384442e730d7/3.15-rc/bookworm/Dockerfile
- https://github.com/docker-library/python/blob/303456576fd52b3e000639d5cfdf384442e730d7/3.15-rc/slim-bookworm/Dockerfile
- https://github.com/docker-library/python/blob/a83345bce8e75b407f283511dc3128b2062d8c1e/3.14/trixie/Dockerfile
- https://github.com/docker-library/python/blob/a83345bce8e75b407f283511dc3128b2062d8c1e/3.14/slim-trixie/Dockerfile
- https://github.com/docker-library/python/blob/a83345bce8e75b407f283511dc3128b2062d8c1e/3.14/bookworm/Dockerfile
- https://github.com/docker-library/python/blob/a83345bce8e75b407f283511dc3128b2062d8c1e/3.14/slim-bookworm/Dockerfile
- https://github.com/docker-library/python/blob/3f2d7e4c339ab883455b81a873519f1d0f2cd80a/3.13/trixie/Dockerfile
- https://github.com/docker-library/python/blob/3f2d7e4c339ab883455b81a873519f1d0f2cd80a/3.13/slim-trixie/Dockerfile
- https://github.com/docker-library/python/blob/3f2d7e4c339ab883455b81a873519f1d0f2cd80a/3.13/bookworm/Dockerfile
- https://github.com/docker-library/python/blob/3f2d7e4c339ab883455b81a873519f1d0f2cd80a/3.13/slim-bookworm/Dockerfile
- https://github.com/docker-library/python/blob/e4ab0fe5ef4df797ed09883becf983a56ab97eca/3.12/trixie/Dockerfile
- https://github.com/docker-library/python/blob/e4ab0fe5ef4df797ed09883becf983a56ab97eca/3.12/slim-trixie/Dockerfile
- https://github.com/docker-library/python/blob/e4ab0fe5ef4df797ed09883becf983a56ab97eca/3.12/bookworm/Dockerfile
- https://github.com/docker-library/python/blob/e4ab0fe5ef4df797ed09883becf983a56ab97eca/3.12/slim-bookworm/Dockerfile
- https://github.com/docker-library/python/blob/54a65f4ff531391810946ee17b0806accbda0fae/3.11/trixie/Dockerfile
- https://github.com/docker-library/python/blob/54a65f4ff531391810946ee17b0806accbda0fae/3.11/slim-trixie/Dockerfile
- https://github.com/docker-library/python/blob/54a65f4ff531391810946ee17b0806accbda0fae/3.11/bookworm/Dockerfile
- https://github.com/docker-library/python/blob/54a65f4ff531391810946ee17b0806accbda0fae/3.11/slim-bookworm/Dockerfile
- https://github.com/docker-library/python/blob/54a65f4ff531391810946ee17b0806accbda0fae/3.10/trixie/Dockerfile
- https://github.com/docker-library/python/blob/54a65f4ff531391810946ee17b0806accbda0fae/3.10/slim-trixie/Dockerfile
- https://github.com/docker-library/python/blob/54a65f4ff531391810946ee17b0806accbda0fae/3.10/bookworm/Dockerfile
- https://github.com/docker-library/python/blob/54a65f4ff531391810946ee17b0806accbda0fae/3.10/slim-bookworm/Dockerfile
- https://github.com/docker-library/python/blob/00c4cce6b91488475bfaf85921bae***a56d4a/3.9/trixie/Dockerfile
- https://github.com/docker-library/python/blob/00c4cce6b91488475bfaf85921bae***a56d4a/3.9/slim-trixie/Dockerfile
- https://github.com/docker-library/python/blob/00c4cce6b91488475bfaf85921bae***a56d4a/3.9/bookworm/Dockerfile
- https://github.com/docker-library/python/blob/00c4cce6b91488475bfaf85921bae***a56d4a/3.9/slim-bookworm/Dockerfile
共享标签(Shared Tags)
3.15.0a1, 3.15-rc:
- https://github.com/docker-library/python/blob/303456576fd52b3e000639d5cfdf384442e730d7/3.15-rc/trixie/Dockerfile
3.14.0, 3.14, 3, latest:
- https://github.com/docker-library/python/blob/a83345bce8e75b407f283511dc3128b2062d8c1e/3.14/trixie/Dockerfile
3.13.9, 3.13:
- https://github.com/docker-library/python/blob/3f2d7e4c339ab883455b81a873519f1d0f2cd80a/3.13/trixie/Dockerfile
3.12.12, 3.12:
- https://github.com/docker-library/python/blob/e4ab0fe5ef4df797ed09883becf983a56ab97eca/3.12/trixie/Dockerfile
3.11.14, 3.11:
- https://github.com/docker-library/python/blob/54a65f4ff531391810946ee17b0806accbda0fae/3.11/trixie/Dockerfile
3.10.19, 3.10:
- https://github.com/docker-library/python/blob/54a65f4ff531391810946ee17b0806accbda0fae/3.10/trixie/Dockerfile
3.9.24, 3.9:
- https://github.com/docker-library/python/blob/00c4cce6b91488475bfaf85921bae***a56d4a/3.9/trixie/Dockerfile
详细使用方法和配置说明
创建Python应用的Dockerfile
在Python项目中创建Dockerfile:
dockerfile
FROM arm32v5/python:3
WORKDIR /usr/src/app
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD [ "python", "./your-daemon-or-script.py" ]
若需使用Python 2(注意:Python 2已停止维护,建议优先使用Python 3):
dockerfile
FROM arm32v5/python:2
WORKDIR /usr/src/app
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD [ "python", "./your-daemon-or-script.py" ]
构建并运行Docker镜像:
console
$ docker build -t my-python-app .
$ docker run -it --rm --name my-running-app my-python-app
直接运行单个Python脚本
对于简单的单文件项目,可直接使用镜像运行Python脚本,无需创建Dockerfile:
console
$ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp arm32v5/python:3 python your-daemon-or-script.py
若需使用Python 2:
console
$ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp arm32v5/python:2 python your-daemon-or-script.py
参数说明:
-it:交互式终端,支持输入输出
--rm:容器退出后自动删除
--name my-running-script:指定容器名称
-v "$PWD":/usr/src/myapp:挂载当前目录到容器内/usr/src/myapp
-w /usr/src/myapp:设置工作目录为/usr/src/myapp