区分Docker仓库、镜像、容器核心概念
一、引言
上一篇已经在自己的阿里云服务器上安装好了docker,接下来区分一下docker的三个核心概念:仓库、镜像、容器。
二、具体内容
(一)docker镜像
1
2
3
4
5
6
7
8
9
10
11
Docker镜像-Docker images:容器运行的只读模板,包含运行应用程序所需的所有文件系统、代码、库和环境配置
特点:
分层存储:镜像由多层文件系统叠加组成,每一层是只读的
不可变:镜像一旦构建完成,不可修改(只能生成新镜像)
类似于java里面的类:
class User{
private String userName;
private int age;
}
(二) docker容器
1
2
3
4
5
6
Docker容器-Docker containers:
容器是镜像的运行实例,拥有独立的进程、文件系统和网络空间
容器包含了某个应用运行所需要的全部环境
类似于java里的对象:
User user = new User()
(三)docker仓库
1
2
3
4
5
Docker仓库-Docker registeries: 用来保存镜像,有公有和私有仓库,好比Maven的中央仓库和本地私服
分类:
公共仓库:如 Docker Hub(默认仓库)、阿里云镜像仓库等
私有仓库:企业内搭建的仓库(如Registry)
(四)三者比较
1
2
3
4
5
6
7
8
9
10
11
12
对比面向对象的方式:
Dokcer 里面的镜像 : Java里面的类 Class
Docker 里面的容器 : Java里面的对象 Object
java是通过类创建对象,Docker是通过镜像创建容器
核心命令:pull(拉取镜像)、run(启动容器)、commit(提交容器为镜像)、push(推送镜像)
三者关系
仓库 → 镜像 → 容器
从仓库拉取镜像,也就是仓库管理镜像(如 docker pull ubuntu)
通过镜像创建容器(如 docker run -it ubuntu)
容器可以提交为新镜像,推送回仓库(如 docker commit + docker push)
三、总结
docker镜像是静态的一层一层的只读文件,docker容器是docker镜像运行后的实例,docker仓库是存储docker镜像的地方。
作者:吴银双
日期:2026年6月3日
平台:GitHub Pages / 技术博客
本文由作者按照 CC BY 4.0 进行授权