Files
nexus/wiki/concepts/Docker-Load.md
2026-04-21 16:03:27 +08:00

97 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Docker Load
type: concept
tags: [docker, container, image-transfer]
last_updated: 2026-04-21
---
# Docker Load
## Definition
`docker load` 是 Docker CLI 命令,用于从 tar 归档文件加载镜像到本地 Docker 镜像存储。与 `docker save` 配合使用,实现镜像的离线迁移。
## Syntax
```bash
docker load [OPTIONS]
```
### Options
| Option | Description |
|--------|-------------|
| `-i, --input` | 指定输入的 tar 文件(默认从 stdin 读取) |
| `-q, --quiet` | 静默模式,减少输出 |
## Usage Examples
### 基本用法
```bash
# 从文件加载
docker load < nginx.tar
# 指定文件
docker load -i images.tar
# 静默模式
docker load -i images.tar -q
```
### 典型工作流:从开发机接收镜像到 NAS
```bash
# 在开发机上
docker save -o xiaoya.tar xiaoyaliu/alist:latest
# 将 xiaoya.tar 复制到 NAS
scp xiaoya.tar nas:/volume1/docker/images/
# 在 NAS 上加载
docker load < xiaoya.tar
# 验证
docker images | grep xiaoya
```
### 使用 SSH 管道直接传输
```bash
# 在目标机器上执行(镜像从远程机器流式传输)
ssh user@source-host 'docker save nginx:latest' | docker load
```
## Related Concepts
- [[Docker-Save]]:对应的导出命令
- [[Docker-Image]]:被导入的目标
- [[Docker-TAR-Archive]]:输入的归档文件格式
## Relationships
- [[Docker-Image]] ← 导入为 ← [[Docker-Load]]
- [[Docker-Load]] ← 依赖 ← [[Docker-Save]]
## Key Points
1. **完整还原**:从 tar 文件完整恢复镜像,包括所有层和元数据
2. **自动识别**:自动识别 tar 文件中的镜像名称和标签
3. **可重复导入**:同一镜像可多次导入(会创建重复条目,需配合 `docker rmi`
4. **ID 匹配**:如果镜像 ID 已存在,会分配新的 ID
## Comparison with Alternatives
| 特性 | docker load | docker import |
|------|-------------|---------------|
| 数据源 | docker save 输出 | docker export 输出 |
| 内容 | 完整镜像(含层) | 容器文件系统快照 |
| 元数据 | 完整保留 | 不保留 |
| 适用场景 | 镜像迁移 | 容器基础创建 |
## Notes
- 导入后的镜像默认标签可能为 `<none>:<none>`,需要手动 tag
- 使用 `docker tag` 命令为导入的镜像设置标签
- 大镜像加载可能需要较长时间,显示进度条