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

2.7 KiB
Raw Blame History

title, type, tags, last_updated
title type tags last_updated
Docker Image concept
docker
container
virtualization
2026-04-21

Docker Image

Definition

Docker Image镜像是一个轻量级、可执行的独立软件包包含运行某个软件所需的所有内容代码、运行时、系统工具、系统库和设置。镜像是 Docker 容器的基础模板。

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

查看镜像

docker images
docker image ls

拉取镜像

docker pull nginx:latest
docker pull ubuntu:22.04

删除镜像

docker rmi nginx:latest
docker image prune -a  # 删除所有未使用镜像

标签管理

docker tag nginx:latest myregistry/nginx:v1.0

Image vs Container

特性 Image Container
状态 只读模板 可读写实例
生命周期 持久 临时
数量 可复用 可多实例
修改 不可变 写入容器层

Image Transfer

Docker 镜像可以在不同主机之间传输,常见方法:

docker save/load推荐

# 导出
docker save -o image.tar nginx:latest

# 导入
docker load < image.tar

docker export/import

# 导出容器
docker export -o container.tar container_id

# 导入为镜像
docker import container.tar new_image:latest

Registry云端

# 推送
docker push myregistry/image:tag

# 拉取
docker pull myregistry/image:tag

Relationships

Notes

  • 镜像大小取决于基础系统和应用依赖
  • 多架构镜像可通过 manifest list 支持不同平台
  • 定期清理未使用镜像可释放存储空间