本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

本镜像是一个基于 Alpine Linux 的轻量级 Python 运行环境,预装 Python3 及最新稳定版的 Requests(HTTP 库)和 Beautiful Soup(HTML/XML 解析库)。主要用于需要通过 Python 进行网络请求发送(如 API 调用、网页爬取)和 HTML/XML 内容解析的场景,提供安全、精简且易于扩展的执行环境。
python 执行,避免 root 权限暴露风险。/root 目录、/etc/crontabs/root)及敏感权限配置,仅保留必要系统工具。py3-pip(Python 包管理工具)、bash(交互 shell)及基础系统工具(如 shadow、util-linux-misc),支持扩展安装其他 Python 依赖。docker pull docker.io/blairy/requests:latest
若需基于源码构建,可使用以下步骤:
./dockerfile)。docker build --compress --pull -t python-requests:local ./dockerfile
容器默认入口点为 python,支持直接执行 Python 命令或挂载外部脚本文件。
示例:运行 Python 交互式终端
docker run --rm -it docker.io/blairy/requests:latest
将本地 Python 脚本(如 crawler.py)挂载至容器内用户目录 /home/python,并执行:
# 假设脚本位于当前目录 ./scripts/crawler.py docker run --rm -v $(pwd)/scripts:/home/python/scripts docker.io/blairy/requests:latest /home/python/scripts/crawler.py
容器内置 pip,可通过以下方式安装其他 Python 库(需在运行时指定命令覆盖入口点):
# 安装 pandas 库并保留依赖(需挂载持久化目录存储依赖) docker run --rm -v $(pwd)/deps:/home/python/.local docker.io/blairy/requests:latest -m pip install --user pandas
python(UID/GID 未显式指定,由系统自动分配),仅对 /home/python 目录有读写权限,挂载外部目录时需确保权限匹配(可通过 chown -R 1000:1000 ./local_dir 调整本地目录权限,假设 python 用户 UID/GID 为 1000)。--network 参数指定网络模式(如 --network host)。以下为镜像构建逻辑说明,关键步骤如下:
# 基于最新 Alpine Linux 构建,确保基础镜像精简 FROM alpine:latest # 安装核心依赖:Python3、Requests、Beautiful Soup 及基础工具 RUN \ apk update --no-cache \ && apk add \ py3-pip \ # Python 包管理工具 py3-beautifulsoup4 \ # HTML/XML 解析库 py3-requests \ # HTTP 请求库 bash \ # 交互式 shell shadow \ # 用户管理工具(useradd 等) util-linux-misc \ # 系统工具(如 chown) \ && apk upgrade # 升级已安装包至最新版本 # 切换至 bash shell,支持数组等高级语法 SHELL ["/bin/bash", "-c"] # 安全加固:清理 root 权限,创建非 root 用户 RUN \ mkdir /home/python \ # 创建用户主目录 && declare -a files=('/etc/shadow' '/etc/passwd' '/etc/group' 'sysctl.conf') \ && for file in "${files[@]}"; do echo "" > $file; done \ # 清空敏感系统文件 && rm -rf /root /etc/crontabs/root /sbin/apk \ # 删除 root 目录及 apk 包管理工具(限制后续修改) && useradd python -d /home/python -s /bin/bash \ # 创建非 root 用户 python && chown -R python /home/python/ \ # 设置用户目录权限 && chmod -R 755 /home/python # 切换至非 root 用户运行 USER python # 入口点:直接启动 Python 解释器 ENTRYPOINT ["/usr/bin/python"]
以下为基于 docker-compose.yml 的部署示例,用于运行一个定时数据采集脚本:
version: '3.8' services: data-crawler: image: docker.io/blairy/requests:latest volumes: - ./scripts:/home/python/scripts # 挂载本地脚本目录 - ./deps:/home/python/.local # 持久化安装的依赖库 command: /home/python/scripts/定时采集脚本.py # 覆盖默认入口点,执行指定脚本 user: "1000:1000" # 匹配容器内 python 用户的 UID/GID(需根据实际情况调整) restart: unless-stopped # 异常退出后自动重启
启动命令:
docker-compose up -d
pip install --user 安装的依赖默认存储于 /home/python/.local,需挂载该目录至宿主机以避免容器重建后依赖丢失。apk 工具,无法通过包管理器安装系统依赖,如需额外系统工具(如 curl),需基于原 Dockerfile 修改并重新构建镜像。--memory、--cpus 参数限制容器资源使用,避免影响宿主机其他服务。免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429