一、镜像是什么?为什么说它是“应用的零食包装袋”?
想象一下:你要给朋友寄一份自制蛋糕。传统方式需列出原料清单(依赖库)、烘焙步骤(环境配置),对方收到后可能因烤箱温度差异做失败。而Docker镜像直接打包成品蛋糕+便携烤箱——无论在哪拆箱即食。
1.1 镜像核心概念:分层设计的“千层饼哲学”
Docker镜像采用联合文件系统(UnionFS),如同一个千层蛋糕:
- 只读层(Read-only layers):每层包装一项改变(如安装软件、添加文件)
- 可写层(Container layer):启动容器时加盖的奶油顶(运行时数据)
# 查看镜像分层结构
docker image inspect nginx:alpine --format "{
{ .RootFS.Layers }}"
输出显示SHA256哈希列表,每项代表一个唯一分层。当你拉取新镜像时,已存在的分层无需重复下载——这就是为什么第二次构建比第一次快得多!
1.2 镜像 vs 容器:方便面与泡好的面
- 镜像 = 袋装方便面(原料齐全、可长期保存)
- 容器 = 泡开水后的面碗(热腾腾的运行实例)
镜像不可变,容器运行时产生的临时数据(日志、用户上传)存放在容器层,随容器删除而消失。
二、制作镜像的“厨房秘籍”:Dockerfile全解
Dockerfile是菜谱,docker build是开火烹饪。以下关键指令决定菜品质量:

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



