一、基本概念
Docker 主要包括三个基础概念
- 镜像(
Image
) - 容器(
Container
) - 仓库(
Repository
)
Docker大部分操作都是围绕这三个核心在在操作,所以这三个概念对掌握Docker技术尤为重要
二、Docker 镜像
1、概念
一个镜像由一组文件组成 轻量级、可执行的独立软件包。简单的来说是一个用来保存系统运行的配置、文件和应用的可以传递文件,并且这个文件只能读 。例如:tomcat镜像 打包了运行某个软件所需的所有内容
- 代码
- 运行时环境
- 依赖库
- 环境变量
- 配置文件等
2、底层基础是Union File System(联合文件系统)
- UnionFS:一种分层、轻量级且高性能的文件系统,支持对文件系统的修改作为一次提交来一层层的叠加,也支持将不同目录挂载到同一虚拟文件系统下。
- 镜像由一层层的文件系统组成,通过分层进行继承。基于基础镜像,可以制作出各种具体的应用镜像。
- 镜像运行时,一次联合加载多个文件系统,根据继承关系进行叠加,最终外部只看到一个文件系统,但拥有了完整的文件和目录结构。
- Docker使用的AUFS
- AUFS又叫Another Union File System,后来叫Alternative Union File System,后来可能觉得不够霸气,改成
Advance UnionFS(高级联合文件系统)
image - 它的特点,每一层只读,比如我们安装了一个Ubuntu系统,在Ubuntu上安装JDK在安装Tomcat
image
- AUFS又叫Another Union File System,后来叫Alternative Union File System,后来可能觉得不够霸气,改成
3、分层的好处
- 方便维护
- 节省空间
三、Docker 容器
1、概念
容器是有镜像运行时候产生的环境
2、容器与镜像的关系
容器与镜像的关系就是像我们类与对象的关系
docker | 面向对象 | 说明 |
---|---|---|
镜像 | 类 | 镜像保存系统的文件配置,目录文件,应用程序等 |
容器 | 对象 | 运行镜像产生的环境 |
3、镜像运行之后产生容器会不会产生性能问题?
比如我们的把镜像运行20次产生20个容器会不会极大的消耗性能,答案是容器是和宿主共享硬件资源的,所以产生的消耗是很小的。
4、镜像共享
image四、Docker 仓库
1、概要
存放镜像的集合
2、常用的镜像仓库
- 官方镜像仓库 https://hub.docker.com/
- 阿里云镜像 https://你的前缀.mirror.aliyuncs.com
- 私有仓库,供公司内部使用
网友评论