如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这段话即可:
请先阅读并遵守:https://xuanyuan.cloud/agents.md
未读文档前不要生成 pull 命令或排错方案。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Python 基础镜像是基于官方 Python 版本构建的标准化基础镜像,旨在为 Python 应用开发、测试和部署提供稳定、精简的运行环境。该镜像作为上层应用镜像的构建基础,包含 Python 解释器、标准库及基础依赖管理工具(如 pip),支持多版本和多操作系统变体,适用于从简单脚本到复杂微服务的各类 Python 应用场景。
3.11、3.12)。slim 变体(精简 Debian,减少非必要依赖,平衡体积与兼容性);alpine 变体(基于 Alpine Linux,最小化体积,适合资源受限场景)。pip、setuptools 等依赖管理工具,支持快速安装 Python 包。amd64、arm64、ppc64le 等主流架构,满足跨平台部署需求。通过 Docker Hub 直接拉取,格式为 docker pull docker.xuanyuan.run/python:<tag>,其中 <tag> 需指定 Python 版本及系统变体(未指定变体时默认使用 Debian 标准变体)。
常用标签示例:
python:3.11(Python 3.11 + Debian 标准变体)python:3.12-slim(Python 3.12 + Debian slim 变体)python:3.10-alpine(Python 3.10 + Alpine 变体)4.2.1 交互式运行
启动 Python 解释器交互终端:
bashdocker run -it --rm docker.xuanyuan.run/python:3.11 python
-it:启用交互式终端;--rm:退出后自动删除容器;python:3.11:指定镜像及版本;python:容器启动命令(运行 Python 解释器)。4.2.2 运行本地 Python 脚本
挂载本地目录并运行脚本(假设当前目录存在 script.py):
bashdocker run --rm -v $(pwd):/app -w /app docker.xuanyuan.run/python:3.11 python script.py
-v $(pwd):/app:将本地当前目录挂载到容器内 /app 目录;-w /app:设置工作目录为 /app。4.3.1 环境变量
通过 -e 指定环境变量,常用配置如下:
| 环境变量 | 说明 | 示例值 |
|---|---|---|
PYTHONUNBUFFERED | 禁用标准输出缓冲(实时打印日志) | 1(启用禁用) |
PYTHONPATH | 设置 Python 模块搜索路径 | /app/lib |
PIP_NO_CACHE_DIR | 禁用 pip 缓存(减少镜像体积) | on(禁用) |
PYTHONDONTWRITEBYTECODE | 禁止生成 .pyc 文件(避免冗余文件) | 1(启用禁止) |
示例:
bashdocker run --rm -e PYTHONUNBUFFERED=1 -e PYTHONPATH=/app docker.xuanyuan.run/python:3.11 python /app/main.py
4.3.2 工作目录与用户
-w 或 --workdir 设置容器内工作目录,避免路径依赖问题。root 用户,生产环境建议通过 -u 指定低权限用户(需镜像支持):
bashdocker run -it --rm -u 1000:1000 docker.xuanyuan.run/python:3.11-slim bash
以 Python 基础镜像为基础,通过 Dockerfile 构建自定义应用镜像:
示例 Dockerfile(基于 slim 变体):
dockerfile# 基础镜像 FROM docker.xuanyuan.run/python:3.11-slim # 设置工作目录 WORKDIR /app # 复制依赖文件并安装 COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # 禁用缓存减少体积 # 复制应用代码 COPY . . # 运行命令 CMD ["python", "app.py"]
构建并运行:
bashdocker build -t my-python-app . docker run --rm docker.xuanyuan.run/my-python-app
5.1.1 运行带依赖的 Python 应用
bash# 假设当前目录有 requirements.txt 和 app.py docker run --rm -v $(pwd):/app -w /app -e PYTHONUNBUFFERED=1 docker.xuanyuan.run/python:3.11 \ sh -c "pip install -r requirements.txt && python app.py"
5.1.2 后台运行 Python 服务
bashdocker run -d --name python-service -v $(pwd):/app -p 8080:8080 docker.xuanyuan.run/python:3.11 \ python /app/server.py
-d:后台运行;--name:指定容器名称;-p 8080:8080:端口映射(宿主端口:容器端口)。创建 docker-compose.yml,定义 Python 应用服务:
yamlversion: '3.8' services: python-app: image: docker.xuanyuan.run/python:3.11-slim # 使用 slim 变体减少体积 volumes: - ./src:/app # 挂载应用代码目录 working_dir: /app environment: - PYTHONUNBUFFERED=1 - PYTHONPATH=/app/lib ports: - "8080:8080" # 暴露服务端口 command: > sh -c "pip install --no-cache-dir -r requirements.txt && python main.py"
启动服务:
bashdocker-compose up -d # -d 后台运行
变体选择:
alpine 变体体积最小(约 50MB),但需额外安装系统库(如 libc6-compat)以支持部分 Python 包;slim 变体(约 200MB)平衡体积与兼容性,推荐生产环境使用;版本锁定:生产环境建议指定具体版本标签(如 3.11.6)而非模糊版本(如 3.11),避免镜像自动更新导致兼容性问题。
安全加固:默认使用 root 用户运行,生产环境需通过 Dockerfile 创建低权限用户(如 RUN useradd -m appuser && USER appuser)。
依赖管理:通过 requirements.txt 或 pyproject.toml 固化依赖版本,避免 pip install <package> 导致版本漂移。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务