02 - 三个核心概念
学 Docker,你只需要先记住三个词:镜像、容器、仓库。搞懂这三个,剩下的全是水到渠成。
一个比喻先记住
| 概念 | 英文 | 比喻 | 通俗理解 |
|---|---|---|---|
| 镜像 | Image | 菜谱 | 打包好的”模板”,只读,不会变 |
| 容器 | Container | 按菜谱做出来的菜 | 镜像运行起来的”实例”,真正干活的地方 |
| 仓库 | Registry | 菜谱网站 | 存放和分享镜像的地方(Docker Hub) |
1. 镜像 Image —— 打包好的”模板”
镜像是一个只读的模板,里面装好了运行你应用所需的一切:操作系统底子、Python、各种库、你的代码。
- 你可以理解成一份菜谱:写清楚了用什么食材、怎么做。
- 也可以理解成软件的安装包,但它把环境也一起打包了。
- 镜像是静态的、不变的,做好了就放在那里。
例子:pytorch/pytorch 就是一个官方镜像,里面已经装好了 Python + PyTorch,你直接拿来用就行。
2. 容器 Container —— 跑起来的”实例”
容器是镜像运行起来之后的样子,是真正执行你程序的地方。
- 镜像是菜谱,容器就是照着菜谱做出来的那盘菜。
- 一份菜谱可以做出很多盘菜:一个镜像可以同时跑出多个容器。
- 容器是动态的、可运行的,可以启动、停止、删除。
- 容器之间互相隔离,一个挂了不影响其他的。
关键关系:镜像 → 运行 → 容器。就像
类和对象、安装包和已安装的软件的关系。
3. 仓库 Registry —— 镜像的”应用商店”
仓库是存放镜像的地方,方便你下载别人的、上传自己的。
- 最大的公共仓库是 Docker Hub,相当于”镜像界的 GitHub / 应用商店”。
- 你想要一个装好 Python 的环境?
docker pull python一下就从仓库拉下来了。 - 你做好了自己的镜像,也可以
push上去,分享给全世界或你的同学。
三者怎么串起来?
一个完整的流程是这样的:
仓库 Registry 你的电脑
(Docker Hub)
镜像 python --pull--> 镜像 python
│
│ run(运行)
▼
容器(跑着你的程序)
- 从仓库把镜像拉到本地(
docker pull) - 把镜像运行起来,变成容器(
docker run) - 容器里就是你的程序在真正运行
[配图:左边菜谱网站(仓库) → 下载菜谱(镜像)到厨房 → 照着菜谱炒出多盘菜(容器)]
小结
- 镜像 Image:打包好的只读模板(菜谱 / 安装包)
- 容器 Container:镜像跑起来的实例(做好的菜 / 运行中的软件)
- 仓库 Registry:存放和分享镜像的地方(菜谱网站 / 应用商店)
- 核心动作:从仓库
pull镜像 →run成容器
概念齐了,下一章我们把 Docker 装到电脑上,开始真正动手。
上一章 ← 01 - Docker 是什么 | 下一章 → 03 - 安装 Docker