参考:https://www.runoob.com/docker

1、Docker:1)软件容器平台; 2)对进程进行封装隔离/标准化; 3)属于操作系统层面的虚拟化即使。4)自动执行重复性任务

==》Docker “容器” 将软件打包成标准化单元,用于开发、交付和部署。

 

 

2、与虚拟机对

 

 

dockercompose分布式部署 docker 分布式_Docker

 

 


dockercompose分布式部署 docker 分布式_数据_02

 

 

 

 

 

特性

容器

虚拟机

启动

秒级

分钟级

硬盘使用

一般mb

一般GB

性能

接近原生

弱于

系统支持量

单机支持上千个容器

一般几十个

运行环境

应用抽象层,运行在操作系统之上

物理硬件层抽象,运行硬件之上

移植

容易

不易(相同系统,不同版本驱动不同)

适用范围

独立应用【前、后端、数据库】

完全独立环境,独立用户

 

3、Docker的三个基本概念:镜像( image )、容器(container)、仓库(repository)

* 镜像:1)(类)只读的静态模板 / 一个root文件系统。2)分层存储的架构, 删除前一层文件的操作,实际不是真的删除前一层的文件,而是仅在当前层标记为该文件已删除

* 容器:(实例)动态的instance/ 实质是进程;容器不应该向其存储层内写入任何数据 ,容器存储层要保持无状态化,数据存于宿主目录/硬盘。

* 仓库:代码控制中心/保存镜像;每个仓库可以包含多个标签(Tag);每个标签对应一个镜像;<仓库名>:<标签>

 

4、Build, Ship, and Run

  • Build(构建镜像) : 镜像就像是集装箱包括文件以及运行环境等等资源。
  • Ship(运输镜像) :主机和仓库间运输,这里的仓库就像是超级码头一样。
  • Run (运行镜像) :运行的镜像就是一个容器,容器就是运行程序的地方。

Docker 运行过程也就是去仓库把镜像拉到本地,然后用一条命令把镜像运行起来变成容器。所以,我们也常常将Docker称为码头工人或码头装卸工,这和Docker的中文翻译搬运工人如出一辙。