在 Docker 中,镜像(Image)是一个核心概念,可以理解为创建容器的静态模板。以下是详细解释:
分层存储(Layer):
每个镜像由多个只读层(Layer)叠加组成,每层代表一条 Dockerfile 指令(例如安装软件、复制文件)。这种设计提高了存储效率和复用性。
联合文件系统(UnionFS):
Docker 使用联合挂载技术将这些层合并为统一的文件系统视图,容器运行时看到的是一个完整的系统。
nginx:1.23
或 myapp:v2
)。镜像 | 容器 |
---|---|
静态的、不可修改的模板 | 动态的、可运行的实例 |
存储在磁盘上(如 /var/lib/docker ) |
运行时占用内存和 CPU |
通过 docker build 创建 |
通过 docker run 从镜像启动 |
# 拉取镜像(从仓库下载)
docker pull nginx:latest
# 查看本地镜像列表
docker images
# 构建镜像(通过 Dockerfile)
docker build -t myapp:v1 .
# 删除镜像
docker rmi myapp:v1
/var/lib/docker/
目录下(具体路径可能因操作系统而异)。docker info
查看存储驱动(如 overlay2
、aufs
)。ubuntu
、redis
)、第三方仓库(如 Quay.io)。Dockerfile
自定义镜像。镜像的本质是一个轻量级、可移植的静态模板,是 Docker 生态的基石。理解镜像的分层结构和生命周期,能帮助你更高效地管理容器化应用。