# offline_docker_package **Repository Path**: fujc2dev/offline_docker_package ## Basic Information - **Project Name**: offline_docker_package - **Description**: Docker离线部署工具 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-16 - **Last Updated**: 2026-04-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Docker镜像离线部署工具 ## 工具简介 用于在内网环境下批量导出和导入Docker镜像,支持镜像校验和完整性验证。 ## 功能特性 - **批量导出** - 支持同时导出多个Docker镜像 - **批量导入** - 自动从离线包导入镜像到目标环境 - **镜像校验** - MD5校验确保文件传输完整性 - **智能跳过** - 本地已存在镜像自动跳过 - **彩色日志** - 进度动画和颜色区分操作状态 - **Python 2.7兼容** - 适配Linux内置Python版本 ## 目录结构 ``` . ├── docker_offline.py # 主程序 ├── images.conf # 镜像配置文件 ├── package/ # 离线包输出目录 │ ├── images/ # 镜像tar包存放目录 │ ├── manifest.json # 镜像清单 │ ├── checksum.md5 # MD5校验文件 │ ├── export_report.txt # 导出报告 │ ├── deploy.log # 部署日志 │ └── deploy_report.json # 部署报告 └── README.txt # 本文件 ``` ## 使用方法 ### 方式一:命令行指定镜像 ```bash # 空格分隔 python docker_offline.py -e nginx:1.21 redis:7.0 mysql:8.0 # 逗号分隔 python docker_offline.py -e nginx:1.21,redis:7.0,mysql:8.0 # 混合使用 python docker_offline.py -e nginx:1.21,redis:7.0 mysql:8.0 ``` ### 方式二:配置文件指定镜像 编辑 `images.conf` 文件,每行一个镜像: ``` # Docker镜像离线包配置文件 # 每行一个镜像名称,#开头的为注释 # 请在此处添加需要导出的镜像 nginx:1.21 redis:7.0 mysql:8.0 minio/minio:2021-04-22T15-44-28Z ``` 然后执行: ```bash python docker_offline.py -e ``` ### 导入镜像 ```bash python docker_offline.py -i ``` ## 操作流程 ### 导出流程 1. 检测Docker环境 2. 读取镜像列表(命令行或配置文件) 3. 逐个拉取/检查镜像 4. 导出镜像为tar文件 5. 计算MD5和SHA256校验值 6. 生成校验文件和清单 7. **自动验证**离线包完整性 ### 导入流程 1. 检测Docker环境 2. **自动验证**离线包完整性(MD5校验) 3. 读取镜像清单 4. 逐个导入镜像 5. 验证导入结果 ## 日志颜色说明 | 颜色 | 含义 | | -- | ----- | | 绿色 | 成功 | | 红色 | 错误 | | 黄色 | 警告/跳过 | | 蓝色 | 运行中进度 | ## 注意事项 1. 确保Docker已正确安装并运行 2. 确保有足够磁盘空间存储镜像 3. 传输镜像包时请使用可靠方式 4. 导入前建议验证离线包完整性