参考:https://www.runoob.com/docker
1、Docker:1)软件容器平台; 2)对进程进行封装隔离/标准化; 3)属于操作系统层面的虚拟化即使。4)自动执行重复性任务
==》Docker “容器” 将软件打包成标准化单元,用于开发、交付和部署。
2、与虚拟机对
比
特性 | 容器 | 虚拟机 |
启动 | 秒级 | 分钟级 |
硬盘使用 | 一般mb | 一般GB |
性能 | 接近原生 | 弱于 |
系统支持量 | 单机支持上千个容器 | 一般几十个 |
运行环境 | 应用抽象层,运行在操作系统之上 | 物理硬件层抽象,运行硬件之上 |
移植 | 容易 | 不易(相同系统,不同版本驱动不同) |
适用范围 | 独立应用【前、后端、数据库】 | 完全独立环境,独立用户 |
3、Docker的三个基本概念:镜像( image )、容器(container)、仓库(repository)
* 镜像:1)(类)只读的静态模板 / 一个root文件系统。2)分层存储的架构, 删除前一层文件的操作,实际不是真的删除前一层的文件,而是仅在当前层标记为该文件已删除
* 容器:(实例)动态的instance/ 实质是进程;容器不应该向其存储层内写入任何数据 ,容器存储层要保持无状态化,数据存于宿主目录/硬盘。
* 仓库:代码控制中心/保存镜像;每个仓库可以包含多个标签(Tag);每个标签对应一个镜像;<仓库名>:<标签>
4、Build, Ship, and Run
- Build(构建镜像) : 镜像就像是集装箱包括文件以及运行环境等等资源。
- Ship(运输镜像) :主机和仓库间运输,这里的仓库就像是超级码头一样。
- Run (运行镜像) :运行的镜像就是一个容器,容器就是运行程序的地方。
Docker 运行过程也就是去仓库把镜像拉到本地,然后用一条命令把镜像运行起来变成容器。所以,我们也常常将Docker称为码头工人或码头装卸工,这和Docker的中文翻译搬运工人如出一辙。