Docker Image Puller

Polar Sponsor
爱发电 赞助
.NET 9.0

使用 Python 脚本下载 Docker 镜像并打包为 tar 文件。用户说“下载镜像”“拉取镜像”“pull xxx”“帮我下载 nginx 镜像”等时触发。支持 SOCKS5 代理直连(推荐)和国内镜像站加速两种模式。

Docker 镜像拉取工具

功能概述

Docker 镜像拉取工具是一项面向实际任务的技能,主要用于从任意 Docker Registry 拉取镜像,打包为 .tar 文件供离线 docker load 使用;脚本: scripts/docker_image_puller.py;

核心要点

  • 配置: config.json (首次运行时引导生成);
  • 首次使用 — 配置引导;
  • 检查 config.json 中 arch 字段:;

使用与执行

若为空( "" 或不存在),引导用户完成首。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

Docker 镜像拉取工具

从任意 Docker Registry 拉取镜像,打包为 .tar 文件供离线 docker load 使用。

资源文件

  • 脚本:scripts/docker_image_puller.py
  • 配置:config.json(首次运行时引导生成)

首次使用 — 配置引导

检查 config.json 中 arch 字段:

  • 若为空("" 或不存在),引导用户完成首次配置:
    1. 下载方式 — 代理下载(推荐,最稳定)或镜像加速
    2. 代理地址(代理模式)— 默认 127.0.0.1:7890
    3. 镜像站地址(镜像模式)— 或让脚本运行时显示推荐列表
    4. 目标架构 — amd64(x86 服务器,默认)或 arm64v8(ARM 服务器)
  • 若 arch 已有值,跳过引导,直接使用该配置

script_dir 自动解析为技能自带的 scripts/ 目录。

config.json 结构

{
  "mode": "proxy",
  "proxy_address": "127.0.0.1:7890",
  "mirror_url": "",
  "arch": "",
  "script_dir": "",
  "version": 1
}

arch 为空时触发首次引导。

执行流程

1. 读取配置,构建命令(安全执行)

读取 config.json,根据 mode 构建命令。使用 exec 的 shell=false(参数数组)方式调用,避免 shell 注入。

代理模式:

exec(
  command="python3 docker_image_puller.py -i '' --socks5 --socks5-proxy '' -a ''",
  workdir=""
)

镜像加速模式:

exec(
  command="printf 'y\ny\n' | python3 docker_image_puller.py -i '' -a ''",
  workdir=""
)

⚠️ 镜像名必须为合法 Docker 镜像引用(仅含字母、数字、/、:、-、.、_),包含其他字符时先向用户确认。

2. Sub-Agent 后台下载

使用 sessions_spawn 启动隔离子任务,不阻塞主会话:

sessions_spawn(
  task="读取 /config.json 获取配置。为镜像 '<镜像名>' 构建下载命令。用 exec 执行(background=true, timeout=600)。每 30 秒用 process 轮询进度。完成后报告 tar 路径和 docker load 命令。失败则报告具体原因。",
  mode="run",
  runtime="subagent",
  timeoutSeconds=900
)

立即回复用户:

📥 已启动后台下载 <镜像名>(架构:<架构>)... 完成后会通知你,可继续其他操作。

3. 结果报告

结果 处理方式
✅ 成功 报告 tar 文件路径 + docker load -i <路径>
⏱ 超时 "下载超时,请检查网络或代理"
🔒 认证失败 401 请用户提供仓库用户名/密码
🌐 网络错误 报告具体 HTTP 错误码和失败 URL
💾 磁盘不足 提醒用户清理磁盘空间

补充说明

  • 安全:脚本启用 HTTPS 证书校验(verify=True),不再禁用 TLS 验证。执行镜像下载时使用参数数组而非 shell 拼接,防止命令注入。
  • 输出路径:/images/<仓库>_<标签>_<架构>.tar
  • 脚本运行完毕后自动清理 tmp/ 临时目录,无需手动处理
  • config.json 跨次复用,用户可随时要求切换下载模式或指定架构

相关专题

更多
Docker Compose教程大全
Docker Compose教程大全

Docker Compose教程大全提供Docker Compose安装、YAML配置、容器编排、多服务部署以及项目实战案例,帮助开发者快速构建Docker微服务环境。

2026.05.21

432

17

Docker命令大全
Docker命令大全

Docker命令大全专题汇总Docker常用命令、容器管理命令、镜像操作命令、网络与数据卷管理方法,适合Docker新手与运维开发人员学习使用。

2026.05.21

207

16

Docker安装教程
Docker安装教程

Docker安装教程专题整理Docker安装教程、Docker Desktop配置、Windows与Mac安装方法、Linux容器环境部署以及常见报错解决方案,帮助开发者快速完成Docker开发环境搭建。

2026.05.21

464

17

RabbitMQ Docker实战指南
RabbitMQ Docker实战指南

RabbitMQ Docker实战指南提供 RabbitMQ Docker 镜像部署、Docker Compose、Kubernetes Operator 与云原生实践教程。

2026.05.20

102

10

Hyperf 项目部署运维与性能调优手册
Hyperf 项目部署运维与性能调优手册

聚焦 Hyperf 在生产环境的落地,包含 Docker 高效打包、Swoole 配置优化、常见的内存溢出(OOM)问题排查方法以及热更新方案。

2026.05.19

345

15

Go Docker与容器化部署教程合集
Go Docker与容器化部署教程合集

聚焦 Go 应用的容器化部署优势与实践,讲解 Go 静态编译特性(CGO_ENABLED=0)与 scratch / distroless 极小基础镜像构建、多阶段 Dockerfile 编写规范、交叉编译生成目标平台二进制、镜像安全扫描(Trivy)与漏洞修复、Docker Compose 本地编排开发环境、Kubernetes Deployment / Service / ConfigMap 部署 Go 服务、健康检查(Livene

2026.05.15

225

24

Java容器化部署与Docker实践教程合集
Java容器化部署与Docker实践教程合集

聚焦 Java 应用的容器化与云原生部署,讲解 Dockerfile 编写规范与 Java 应用镜像构建、多阶段构建(Multi-stage Build)减小镜像体积、Jib / Buildpacks 免 Dockerfile 镜像构建方案、JVM 容器感知参数(-XX:MaxRAMPercentage)配置、Docker Compose 编排多服务(应用 + MySQL + Redis)、容器健康检查与资源限制、Kubernetes

2026.05.11

280

26

Docker 容器部署
Docker 容器部署

本专题整合了Docker容器部署相关内容,阅读专题下面的文章了解更多详细操作教程。

2026.03.31

251

14

Docker容器化部署与DevOps实践
Docker容器化部署与DevOps实践

本专题面向后端与运维开发者,系统讲解 Docker 容器化技术在实际项目中的应用。内容涵盖 Docker 镜像构建、容器运行机制、Docker Compose 多服务编排,以及在 DevOps 流程中的持续集成与持续部署实践。通过真实场景演示,帮助开发者实现应用的快速部署、环境一致性与运维自动化。

2026.02.11

179

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

Docker 官方文档
Docker 官方文档

共0课时 | 0人学习

宝塔 Docker 模块使用手册
宝塔 Docker 模块使用手册

共0课时 | 0人学习