Auto-sync: 2026-04-21 16:03

This commit is contained in:
2026-04-21 16:03:27 +08:00
parent b3b6be6114
commit 914c8f6925
42 changed files with 3923 additions and 1592 deletions

View File

@@ -1,33 +1,139 @@
---
title: "Docker Image"
title: Docker Image
type: concept
tags: [docker, container, image]
sources: [docker-images-transfer-guide, 如何传输Docker-images-并且在另一个Docker安装]
last_updated: 2026-04-17
tags: [docker, container, virtualization]
last_updated: 2026-04-21
---
## Summary
Docker ImageDocker 镜像)是容器化平台的核心概念,是一个只读模板,包含应用程序及其运行时所需的全部依赖(代码、运行时、库、环境变量、配置文件等)。
# Docker Image
## Definition
用于创建 Docker 容器的只读模板,通过分层存储实现高效复用和传输。
## Key Attributes
- **格式**:分层文件系统
- **存储方式**:可导出为 tar 归档文件
- **复用机制**:分层存储,多个镜像可共享基础层
Docker Image镜像是一个轻量级、可执行的独立软件包包含运行某个软件所需的所有内容代码、运行时、系统工具、系统库和设置。镜像是 Docker 容器的基础模板。
## Use Cases
- 应用程序打包和分发
- 跨环境部署(开发、测试、生产
- 离线环境镜像迁移
## Key Characteristics
### 不可变性Immutable
- 镜像一旦创建就不能修改
- 对容器的修改只存在于容器层
- 新修改通过创建新镜像实现
### 分层结构Layered
- 由多个只读层组成
- 层可以复用,多个镜像共享基础层
- 节省存储空间和传输带宽
### 可堆叠性Stackable
- 基于已有镜像构建新镜像
- 使用 Dockerfile 描述构建过程
- 每条指令创建新层
## Image 结构
```
Dockerfile
Image = [Layer 3: Application Code]
[Layer 2: Dependencies]
[Layer 1: Base OS]
[Layer 0: BootFS]
```
## Common Operations
### 查看镜像
```bash
docker images
docker image ls
```
### 拉取镜像
```bash
docker pull nginx:latest
docker pull ubuntu:22.04
```
### 删除镜像
```bash
docker rmi nginx:latest
docker image prune -a # 删除所有未使用镜像
```
### 标签管理
```bash
docker tag nginx:latest myregistry/nginx:v1.0
```
## Image vs Container
| 特性 | Image | Container |
|------|-------|-----------|
| 状态 | 只读模板 | 可读写实例 |
| 生命周期 | 持久 | 临时 |
| 数量 | 可复用 | 可多实例 |
| 修改 | 不可变 | 写入容器层 |
## Image Transfer
Docker 镜像可以在不同主机之间传输,常见方法:
### docker save/load推荐
```bash
# 导出
docker save -o image.tar nginx:latest
# 导入
docker load < image.tar
```
### docker export/import
```bash
# 导出容器
docker export -o container.tar container_id
# 导入为镜像
docker import container.tar new_image:latest
```
### Registry云端
```bash
# 推送
docker push myregistry/image:tag
# 拉取
docker pull myregistry/image:tag
```
## Related Concepts
- [[Docker]]:容器化平台
- [[Docker-Save]]:镜像导出命令
- [[Docker-Load]]:镜像导入命令
## Connections
- [[Docker]] ← 包含 ← [[Docker-Image]]
- [[Docker-Image]] ← 可导出为 ← [[Docker-Save]]
- [[Docker-Image]] ← 可导入为 ← [[Docker-Load]]
- [[Docker-Save]]:镜像导出方法
- [[Docker-Load]]:镜像导入方法
- [[Docker-Container]]:镜像的运行实例
- [[Dockerfile]]:镜像构建文件
## Relationships
- [[Docker-Image]] ← 构建 ← [[Dockerfile]]
- [[Docker-Image]] ← 实例化 ← [[Docker-Container]]
- [[Docker-Image]] ← transferred_via ← [[Docker-Save]]
- [[Docker-Image]] ← transferred_via ← [[Docker-Load]]
## Related Entities
- [[entities/Docker.md]]
## Notes
- 镜像大小取决于基础系统和应用依赖
- 多架构镜像可通过 manifest list 支持不同平台
- 定期清理未使用镜像可释放存储空间