|
1 |
| -# Docker Pull Tool |
| 1 | +# Docker Image Puller |
2 | 2 |
|
3 |
| -这是一个基于 `docker-drag` 实现的 Python 工具,用于从 Docker Hub 或其他镜像源下载 Docker 镜像并保存为 `.tar` 文件。支持以下功能: |
| 3 | +## 项目简介 |
4 | 4 |
|
5 |
| -- **新版 Docker Hub API 支持**:兼容 Docker Hub 的最新 API。 |
6 |
| -- **多架构支持**:可以指定下载的镜像架构(如 `amd64`、`arm64` 等)。 |
7 |
| -- **镜像源加速**:支持指定镜像源以加速下载。 |
8 |
| -- **简单易用**:通过命令行参数快速下载镜像。 |
| 5 | +Docker Image Puller 是一个强大的工具,用于从 Docker 仓库拉取镜像,支持国内镜像源加速和多架构支持。该工具采用 MIT 许可证,开放源代码,方便用户根据需要进行定制和扩展。 |
9 | 6 |
|
| 7 | +## 特点 |
10 | 8 |
|
11 |
| ---- |
| 9 | +- **国内镜像源加速**: 通过配置国内镜像源,大幅提高镜像下载速度。 |
| 10 | +- **多架构支持**: 支持多种架构(如 amd64, arm64),满足不同环境需求。 |
| 11 | +- **兼容最新 Docker Hub API**: 确保与 Docker Hub 的最新接口兼容,获取最新的镜像信息。 |
| 12 | +- **单文件 Python 脚本**: 便于携带和使用,无需复杂安装。 |
| 13 | +- **无依赖 EXE 执行**: 编译为独立 EXE 文件,无需安装 Python 环境,在 Releases 下载。 |
| 14 | +- **用户友好**: 提供交互式输入,简化操作流程。 |
| 15 | +- **优化性能**: 提高下载速度和可靠性。 |
12 | 16 |
|
13 |
| -## 使用方法 |
| 17 | +## 安装 |
| 18 | + |
| 19 | +### 通过 Git 克隆 |
14 | 20 |
|
15 |
| -### 基本命令 |
16 | 21 | ```bash
|
17 |
| -python docker_pull.py <image_name> [options] |
| 22 | +git clone https://github.com/topcss/docker-pull-tar.git |
18 | 23 | ```
|
19 | 24 |
|
20 |
| -### 示例 |
21 |
| -下载 `alpine` 镜像的 `arm64` 架构版本,使用自定义镜像源加速下载: |
22 |
| - ```bash |
23 |
| - python docker_pull.py alpine arm64 docker.xuanyuan.me |
24 |
| - ``` |
25 |
| ---- |
26 | 25 |
|
27 |
| -## 示例输出 |
| 26 | +### 依赖安装 |
| 27 | + |
| 28 | +确保已安装 Python 3.x 版本。如果需要将脚本编译为 EXE,可以使用 PyInstaller: |
28 | 29 |
|
29 | 30 | ```bash
|
30 |
| -$ python docker_pull.py alpine --arch arm64 --registry docker.xuanyuan.me |
31 |
| -[INFO] 开始下载镜像: alpine:latest (arm64) |
32 |
| -[INFO] 使用镜像源: docker.xuanyuan.me |
33 |
| -[INFO] 下载 manifest 文件... |
34 |
| -[INFO] 下载 config 文件... |
35 |
| -[INFO] 下载 layer 1/3: sha256:123456... |
36 |
| -[INFO] 下载 layer 2/3: sha256:abcdef... |
37 |
| -[INFO] 下载 layer 3/3: sha256:987654... |
38 |
| -[INFO] 打包镜像为 alpine_latest_arm64.tar... |
39 |
| -[INFO] 镜像下载完成: alpine_latest_arm64.tar |
| 31 | +pip install pyinstaller |
| 32 | +pyinstaller --onefile docker_image_puller.py |
40 | 33 | ```
|
41 | 34 |
|
42 |
| ---- |
| 35 | +## 使用 |
| 36 | + |
| 37 | +### 基本用法 |
| 38 | + |
| 39 | +```bash |
| 40 | +python docker_image_puller.py [镜像名称] [架构] [仓库地址] |
| 41 | +``` |
| 42 | + |
| 43 | +### 示例 |
43 | 44 |
|
44 |
| -## 注意事项 |
| 45 | +```bash |
| 46 | +D:\> DockerPull.exe |
| 47 | + |
| 48 | +欢迎使用 Docker 镜像拉取工具! |
| 49 | +请输入以下信息: |
| 50 | +请输入 Docker 镜像名称(例如:library/ubuntu:latest):alpine |
| 51 | +请输入架构(默认:amd64): |
| 52 | +请输入 Docker 仓库地址(默认:docker.xuanyuan.me): |
| 53 | +仓库地址:docker.xuanyuan.me |
| 54 | +仓库名:library/alpine |
| 55 | +标签:latest |
| 56 | +架构:amd64 |
| 57 | +Docker 镜像已拉取:library_alpine.tar |
| 58 | +``` |
45 | 59 |
|
46 |
| -1. 确保网络连接正常,尤其是访问 Docker Hub 或自定义镜像源时。 |
47 |
| -2. 如果下载速度较慢,建议使用国内镜像源(如 `docker.xuanyuan.me`)。 |
48 |
| -3. 下载的 `.tar` 文件可以通过 `docker load -i <file>.tar` 命令加载到本地 Docker 环境。 |
| 60 | +```bash |
| 61 | +python docker_image_puller.py library/ubuntu:latest amd64 docker.xuanyuan.me |
| 62 | +``` |
49 | 63 |
|
50 |
| ---- |
51 | 64 |
|
52 | 65 | ## 许可证
|
53 | 66 |
|
54 |
| -本项目基于 MIT 许可证开源。详情请参阅 [LICENSE](LICENSE) 文件。 |
| 67 | +本项目采用 MIT 许可证,详情见 [LICENSE](LICENSE) 文件。 |
| 68 | + |
| 69 | +## 联系方式 |
| 70 | + |
| 71 | +如有任何问题或建议,请通过 [GitHub Issues](https://github.com/topcss/docker-pull-tar/issues) 提出。 |
| 72 | + |
| 73 | +## 为什么选择这个工具? |
| 74 | + |
| 75 | +- **速度快**: 国内镜像源加速,下载更快。 |
| 76 | +- **架构灵活**: 支持多架构,适应各种环境。 |
| 77 | +- **易于使用**: 单文件脚本,无需复杂配置。 |
| 78 | +- **开放源代码**: 自由定制和扩展。 |
| 79 | + |
| 80 | +## 常见问题 |
55 | 81 |
|
56 |
| ---- |
| 82 | +**Q**: 如何配置国内镜像源? |
| 83 | +**A**: 在命令行中指定仓库地址参数,例如 `docker.xuanyuan.me`。 |
57 | 84 |
|
58 |
| -## 贡献 |
| 85 | +**Q**: 支持哪些架构? |
| 86 | +**A**: 目前支持 amd64 和 arm64 架构。 |
59 | 87 |
|
60 |
| -欢迎提交 Issue 或 Pull Request 以改进本工具! |
| 88 | +希望通过这个工具能为您的 Docker 镜像管理带来便利! 🚀 |
0 commit comments