# Docker Image Tar在线打包下载 ## 需求 > 本地不想安装docker,但是内网需要部署某个docker服务,想直接在线下载tar包然后倒入到内网的服务器中 ## 工具 ### 1、HubProxy - https://github.com/sky22333/hubproxy 一个轻量级、高性能的多功能代理服务,提供 Docker 镜像加速、GitHub 文件加速、下载离线镜像、在线搜索 Docker 镜像等功能。 **特性** - 🐳 **Docker 镜像加速** - 支持 Docker Hub、GHCR、Quay 等多个镜像仓库加速,流式传输优化拉取速度。 - 🐳 **离线镜像包** - 支持下载离线镜像包,流式传输加防抖设计。 - 📁 **GitHub 文件加速** - 加速 GitHub Release、Raw 文件下载,支持`api.github.com`,脚本嵌套加速等等 - 🤖 **AI 模型库支持** - 支持 Hugging Face 模型下载加速 - 🛡️ **智能限流** - IP 限流保护,防止滥用 - 🚫 **仓库审计** - 强大的自定义黑名单,白名单,同时审计镜像仓库,和GitHub仓库 - 🔍 **镜像搜索** - 在线搜索 Docker 镜像 - ⚡ **轻量高效** - 基于 Go 语言,单二进制文件运行,资源占用低。 - 🔧 **统一配置** - 统一配置管理,便于维护。 - 🛡️ **完全自托管** - 避免依赖免费第三方服务的不稳定性,例如`cloudflare`等等。 - 🚀 **多服务统一加速** - 单个程序即可统一加速 Docker、GitHub、Hugging Face 等多种服务,简化部署与管理。  ### 2、Docker Image Puller - https://github.com/topcss/docker-pull-tar Docker Image Puller 是一个方便的工具,用于从 Docker 仓库拉取镜像,支持国内镜像源加速和多架构支持。 **特点** - **无需安装 Docker 或 Python 环境**:直接使用单文件 EXE 或 Python 脚本,开箱即用。 - **无依赖 EXE 执行**:编译为独立 EXE 文件,无需安装 Python 环境,无需安装 Docker 环境,直接在 Releases 下载就能直接使用。 - **国内镜像源加速**:通过配置国内镜像源,大幅提高镜像下载速度,解决国内无法直接下载的问题。 - **多架构支持**:支持多种架构(如 `amd64`、`arm64`),满足不同环境需求,尤其是 arm64 内网服务器。 - **兼容最新 Docker Hub API**:确保与 Docker Hub 的最新接口兼容,获取最新的镜像信息。 - **单文件 Python 脚本**:便于携带和使用,无需复杂安装。 - **用户友好**:提供交互式输入,简化操作流程。 - **优化性能**:提高下载速度和可靠性。  ### 3、Docker Hub 镜像下载器油猴脚本 - https://greasyfork.org/zh-CN/scripts/539734-docker%E9%95%9C%E5%83%8F%E7%A6%BB%E7%BA%BF%E4%B8%8B%E8%BD%BD%E5%99%A8 **主要功能** 1. **自动添加下载器界面** - 在Docker Hub镜像页面自动添加下载工具 2. **多架构支持** - 支持多种CPU架构选择(amd64、arm64等) 3. **分层下载** - 实现分层下载和前端组装功能 4. **标准格式输出** - 生成标准的Docker TAR文件 5. **智能检测** - 支持架构自动检测  ### 4、在线打包网站 #### registry.cyou - https://registry.cyou/  #### proxy.vvvv.ee - https://proxy.vvvv.ee/images.html - 该网站是用[HubProxy](#1、HubProxy)项目搭建部署的  ## 内网 Docker 导入方法 1. **拉取镜像并打包** 使用本工具拉取镜像并生成 `.tar` 文件,例如 `library_alpine.tar` 2. **将 `.tar` 文件传输到内网机器** 通过 U 盘、内网文件服务器或其他方式将 `.tar` 文件传输到目标机器 3. **导入镜像到 Docker** 在内网机器上运行以下命令导入镜像: ```bash docker load -i library_alpine.tar ``` 4. **验证镜像** 导入完成后,运行以下命令查看镜像: ```bash docker images ``` 然后启动容器: ```bash docker run -it alpine ```