Skip to main content

智能Docker镜像拉取工具 - 自动选择最优镜像源

Project description

🐳 DockerPull 智能镜像拉取工具 | 解决国内Docker镜像拉取难题

😫 国内开发者的痛 - Docker镜像拉取失败

你是否遇到这些问题?

  • 拉取超时: docker pull nginx:latest 等待10分钟,最后显示 timeout
  • 连接失败: 总是提示 Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled
  • 🐌 速度极慢: 几十MB的镜像要下载几个小时,进度条一动不动
  • 🔧 配置复杂: 网上找的镜像加速配置方法五花八门,配置后还是不行
  • 💥 镜像站失效: 好不容易找到的镜像加速地址,过几天就不能用了

为什么会这样?

由于网络原因,国内访问Docker Hub官方仓库(registry-1.docker.io)存在以下问题:

  • 网络延迟高,连接不稳定
  • 经常遭遇连接重置或超时
  • 下载速度被限制在几十KB/s
  • 镜像加速站地址经常变更或失效

🚀 我们的解决方案 - 一键智能拉取

DockerPull 是专为国内开发者打造的智能镜像拉取工具,它能:

🎯 核心功能

  • 🤖 智能检测: 自动检测20+个可用镜像加速源,实时过滤失效地址
  • ⚡ 极速拉取: 智能选择最快镜像源,拉取速度提升10倍以上
  • 🔧 零配置: 无需手动配置,安装即用,一条命令解决所有问题
  • 🛡️ 自动容错: 单个镜像源失败自动切换,确保拉取成功率
  • 📊 进度可视: 实时显示下载进度,让你清楚知道当前状态

✨ 特色优势

  • 📦 全平台支持: Windows、Linux、macOS 完美兼容
  • 🎮 游戏开发友好: 支持Unity、Unreal等游戏引擎镜像快速拉取
  • 🏢 企业级稳定: 支持私有仓库和自定义镜像源
  • 🔍 调试友好: 调试模式显示完整命令,问题排查更轻松

📦 30秒快速安装

系统要求

  • ✅ Python 3.6+ (Windows/Linux/macOS 均支持)
  • ✅ Docker 已安装

一键安装

# 安装工具(仅需一次)
pip3 install dps_liumou_Stable

# 验证安装成功
dps --help

🎯 安装完成!现在你可以

  • 告别手动配置镜像加速的烦恼
  • 享受秒级镜像拉取的快感
  • 专注开发,不再为环境问题头疼

🎯 使用方法 - 像原生Docker一样简单

🚀 日常开发必备命令

# 拉取镜像 - 自动选择最快镜像源(推荐)
dps nginx:latest
dps redis:7-alpine
dps mysql:8.0

# 拉取开发环境常用镜像
dps node:18-alpine      # 前端开发
dps python:3.11        # Python开发
dps golang:1.21        # Go开发
dps openjdk:17         # Java开发

# 游戏开发专用
dps unityci/editor:ubuntu-2022.3.0f1-base-2.0.0
dps epicgames/unreal-engine:4.27.2

📊 实用工具命令

# 查看当前可用镜像源(自动检测)
dps --list-mirrors

# 查看本地已有镜像
dps --local-images

🔧 高级用法 - 解决特殊场景

# 🔍 调试模式 - 查看实际执行的完整命令
dps nginx:latest -d

# ⏰ 设置超时时间 - 适合大镜像
dps ubuntu:22.04 --timeout 600

# 🔄 设置重试次数 - 网络不稳定时
dps mysql:8.0 --max-retries 5

# 🌐 强制使用镜像站 - 非Docker Hub镜像
dps gcr.io/google/cadvisor:latest --force-mirror

# 🎯 组合使用 - 应对复杂环境
dps node:18-alpine -d --timeout 600 --max-retries 5

🌍 非Docker Hub镜像支持

对于Google Container Registry、AWS ECR等非Docker Hub镜像,工具会智能识别并采用最优策略:

# 🏭 Google镜像仓库 - 默认直接拉取(通常国内可访问)
dps gcr.io/google/cadvisor:latest
dps gcr.io/distroless/java17

# ☁️ AWS镜像仓库 - 默认直接拉取
dps public.ecr.aws/nginx/nginx:1.25

# 🎯 特殊情况 - 强制使用镜像站加速
dps gcr.io/google/cadvisor:latest --force-mirror

智能判断逻辑

  • ✅ 自动识别镜像类型(Docker Hub vs 其他)
  • ✅ 非Docker Hub镜像默认直接拉取(避免加速反而变慢)
  • ✅ 提供强制加速选项(应对特殊情况)

命令行参数

positional arguments:
  image_name            要拉取的镜像名称,如 nginx:latest

options:
  -h, --help            显示帮助信息
  --list-mirrors        列出所有可用的镜像源
  --local-images        列出本地Docker镜像
  --timeout TIMEOUT     Docker命令超时时间(秒),默认300秒
  --max-retries MAX_RETRIES
                        每个镜像源的最大重试次数,默认3次
  -d, --debug           调试模式,输出实际执行的完整命令
  --force-mirror        强制使用镜像站(即使非Docker Hub镜像)

使用示例:
  dps nginx:latest                    # 拉取nginx镜像
  dps python:3.9                     # 拉取python镜像
  dps gcr.io/google/cadvisor:latest   # 拉取非Docker Hub镜像
  dps --list-mirrors                   # 列出可用镜像源
  dps --local-images                   # 列出本地镜像
  dps -h                              # 显示帮助信息

🎨 真实使用场景对比

😱 传统方式 - 痛苦的经历

# 直接docker pull - 经常失败或超时
$ docker pull nginx:latest
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

🎉 使用dps - 丝滑体验

# 第一次使用 - 智能选择最优镜像源
root@tb4:~# pip3 install dps-liumou-Stable
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting dps-liumou-Stable
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/04/07/3d6d04c101b4a4ec097b9eea1ba3301f2bb70317fbb04b872b9da8f82a35/dps_liumou_stable-1.0.4-py3-none-any.whl (18 kB)
Requirement already satisfied: requests>=2.28.0 in /usr/lib/python3/dist-packages (from dps-liumou-Stable) (2.28.1)
Requirement already satisfied: urllib3>=1.26.0 in /usr/lib/python3/dist-packages (from dps-liumou-Stable) (1.26.12)
Installing collected packages: dps-liumou-Stable
Successfully installed dps-liumou-Stable-1.0.4
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
root@tb4:~# dps mariadb
🎯 开始智能拉取镜像: mariadb
==================================================
🌐 正在获取镜像源信息...
✅ 成功获取 22 个在线镜像源
📋 找到 22 个可用镜像源
  1. 1Panel - https://docker.1panel.live
  2. SUNBALCONY 1 - https://dockerproxy.cool
  3. 棉花云 3 - https://hub3.nat.tf
  4. CNIX Internal - https://docker.m.ixdev.cn
  5. DockerProxy - https://dockerproxy.net
  6. Docker Layer ICU - https://image.cloudlayer.icu
  7. 奶昔论坛 - https://docker-registry.nmqu.com
  8. 厚浪云 - https://docker.hlmirror.com
  9. 科技 lion - https://docker.kejilion.pro
  10. 1Panel 三方镜像源 - https://hub.1panel.dev
  11. apiba - https://docker.apiba.cn
  12. mxjia - https://proxy.vvvv.ee
  13. 腾讯云镜像仓库 - https://mirror.ccs.tencentyun.com
  14. 毫秒镜像(免费版) - https://docker.1ms.run
  15. 毫秒镜像(付费版) - https://docker.1ms.run
  16. 耗子面板 - https://hub.rat.dev
  17. 轩辕镜像(专业版) - https://docker.xuanyuan.run
  18. 爱铭网络 1 - https://hub.amingg.com
  19. 爱铭网络 2 - https://docker.amingg.com
  20. DaoCloud - https://docker.m.daocloud.io
  21. 1Panel 三方镜像源 - https://docker.367231.xyz
  22. 飞牛 NAS - https://docker.fnnas.com

🔄 尝试镜像源 1/22: 1Panel
🔗 URL: https://docker.1panel.live
🔄 尝试从镜像源拉取: docker.1panel.live/library/mariadb
📥 latest: Pulling from library/mariadb
📥 953cdd413371: Pulling fs layer
📥 3bf2e947a240: Pulling fs layer
📥 32cbc8a9ec6b: Pulling fs layer
📥 0c69925a3f99: Pulling fs layer
📥 eeb61de4991e: Pulling fs layer
📥 650ac881f9b7: Pulling fs layer
📥 52364fc3563c: Pulling fs layer
📥 5a1051e81802: Pulling fs layer
✅ 成功拉取镜像: docker.1panel.live/library/mariadb
🏷️  设置镜像标签: docker.1panel.live/library/mariadb -> mariadb
✅ 成功设置镜像标签: mariadb
🗑️  删除镜像: docker.1panel.live/library/mariadb
==================================================
🎉 镜像拉取成功: mariadb
📍 使用的镜像源: 1Panel
⏱️  总耗时: 56.3秒
root@tb4:~# 

🏆 为什么选择我们?

📊 数据说话

  • ⚡ 速度提升: 平均拉取速度提升 10-50 倍
  • 🎯 成功率: 镜像拉取成功率从 30% 提升到 98%
  • 🔧 零配置: 告别复杂的镜像加速配置
  • ⏱️ 节省时间: 每天为开发者节省 30-60 分钟等待时间

💡 用户真实反馈

"用了dps后,拉镜像再也不是噩梦了,几秒钟就搞定!" - 前端开发者小王

"我们团队20多人都在用,再也不用担心镜像拉取失败了" - 技术负责人老李

"游戏开发需要拉很多大镜像,dps帮我们节省了大量时间" - Unity开发者小张

🔧 技术特性

  • 🤖 智能镜像源管理: 实时检测20+个镜像源可用性,自动过滤失效源
  • ⚡ 实时输出: 使用 subprocess.Popen 实现实时进度显示
  • 🛡️ 企业级错误处理: 完善的异常处理和重试机制
  • 📱 全平台兼容: 完美支持 Windows、Linux、macOS
  • 🔧 零依赖: 仅使用Python标准库,无需额外依赖

🚀 立即开始你的高效开发之旅

# 安装(仅需一次)
pip3 install dps_liumou_Stable

# 使用(像原生Docker一样简单)
dps nginx:latest

告别镜像拉取烦恼,专注代码开发!

🤝 参与贡献

欢迎提交 Issue 和 Pull Request,让我们一起让国内开发环境变得更好!

贡献步骤

  1. 🍴 Fork 本仓库
  2. 🌿 新建 Feat_xxx 分支
  3. 💻 提交代码
  4. 📤 新建 Pull Request

📄 许可证

MIT License - 详见 LICENSE 文件


⭐ 如果这个项目帮到了你

请给我们一个 Star,让更多人发现这个好用的工具!

Made with ❤️ for Chinese developers

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dps_liumou_stable-1.0.5.tar.gz (26.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dps_liumou_stable-1.0.5-py3-none-any.whl (20.3 kB view details)

Uploaded Python 3

File details

Details for the file dps_liumou_stable-1.0.5.tar.gz.

File metadata

  • Download URL: dps_liumou_stable-1.0.5.tar.gz
  • Upload date:
  • Size: 26.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for dps_liumou_stable-1.0.5.tar.gz
Algorithm Hash digest
SHA256 f93294d347a3ef31439b403d202b6c3f763ec5150c295c9685e605cdf38a0845
MD5 32be5a419ddd201a1ae058fe66280fcb
BLAKE2b-256 a5ae58fc0ff82b046463e8fac8beb789bd91702d108e0644671e5878caf90d4b

See more details on using hashes here.

File details

Details for the file dps_liumou_stable-1.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for dps_liumou_stable-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 504316bdffbb78d8cd46061f34c5ad3f9152cc793e36d1ba72435d998e48dc85
MD5 cadf8af8368e12d3e693c4951e99e77c
BLAKE2b-256 8e52bb96f20dde6d5211d7f7b68c8142e93a6e9a6f30ee364369a7fb31fde626

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page