新增雄安空能院项目

This commit is contained in:
zeaslity
2025-08-12 09:59:32 +08:00
parent ce4165e36b
commit 4b274a02c8
79 changed files with 16048 additions and 211 deletions

View File

@@ -0,0 +1,55 @@
下面是压缩Docker镜像为分块压缩包及合并的命令
---
### **1. 压缩并分割镜像**
#### **推荐方式:直接通过管道压缩并分块**
使用 `gzip` 压缩(速度快,中等压缩率):
```bash
docker save <IMAGE_NAME:TAG> | gzip | split -b 5G - image_part_.gz
```
或使用 `xz` 压缩(高压缩率,速度慢):
```bash
docker save <IMAGE_NAME:TAG> | xz -T0 | split -b 5G - image_part_.xz
```
**参数说明**
- `<IMAGE_NAME:TAG>`:替换为实际的镜像名称和标签。
- `split -b 5G`将输入流分割为每块最大5GB。
- `image_part_.gz``image_part_.xz`:分块文件前缀,生成的文件名类似 `image_part_.gz.aa``image_part_.gz.ab` 等。
---
### **2. 合并分块并还原镜像**
#### **gzip 压缩分块的合并与加载**
```bash
cat image_part_.gz.* | gunzip | docker load
```
#### **xz 压缩分块的合并与加载**
```bash
cat image_part_.xz.* | xz -d | docker load
```
---
### **工作原理**
1. **压缩分块**
- `docker save` 输出镜像的 TAR 存档到标准输出。
- 通过管道将 TAR 数据实时压缩(`gzip``xz`)。
- `split` 将压缩后的流按 `5G` 大小分割为多个文件。
2. **合并还原**
- `cat` 按顺序合并所有分块文件。
- `gunzip``xz -d` 解压合并后的流。
- `docker load` 从解压后的 TAR 流中加载镜像。
---
### **注意事项**
- **分块命名**`split` 默认生成 `aa`, `ab` 等后缀。若分块超过几百个,需用 `-a <长度>` 指定后缀长度(如 `-a 3` 生成 `001`)。
- **磁盘空间**:合并时需要足够的临时空间存储解压后的完整 TAR 数据如原镜像为24GB需至少24GB空间
- **压缩选择**
- `gzip`:速度较快,适合快速处理。
- `xz`压缩率更高尤其适合二进制数据但需要更多时间和CPU资源。