虚拟机是分钟级的,docker是秒级的


Docker 

       Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口

       Docker是基于Go语言的

       Docker是做PaaS平台的


Docker的架构

Docker是一个Client-Server结构的系统

Docker守护进程运行在主机上,然后通过Socket连接从客户端访问,守护进程从客户端接收命令并管理运行在主机上的容器

docker 搭建虚拟化 docker虚拟化架构_体系结构

用docker可以把网络上的镜像库拉取到本地直接用


Docker的三要素:镜像、容器、仓库

①镜像(Image)

Docker镜像可以用来创建Docker容器,一个镜像可以创建多个容器


②容器(Container)

Docker利用容器独立运行一个或一组应用。容器是用镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。

可以把容器看做是一个简易版的Linux环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序,容器的定义和镜像几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的。


③仓库(Repository)

仓库是集中存放镜像文件的地方,类似github存放项目代码一样,只不过Docker Hub是用来存放镜像的。

仓库(Repository)和仓库注册管理器(Registry)是有区别的。仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag,类似于版本号)

仓库分为public和private两种形式

最大的公开仓库是Docker Hub Docker Hub

国内的public仓库有阿里云,网易云等


Docker与虚拟机的区别

docker是一个轻量级的虚拟化技术,比传统虚拟机性能更好,但功能肯定没有虚拟机全面

虚拟机中的系统,占空间很大(好多个G),启动也比较慢

docker中的系统占空间很小,而且启动很快,只要几秒钟的样子

docker 搭建虚拟化 docker虚拟化架构_docker_02


Docker的优势是,不需要为虚拟机操作系统系统硬件模拟,所有应用程序都在为Docker容器工作,性能更好


Docker的体系结构 vs 虚拟机的体系结构

虚拟机体系结构

docker 搭建虚拟化 docker虚拟化架构_体系结构_03

docker没有虚拟硬件

docker 搭建虚拟化 docker虚拟化架构_docker_04



Docker有什么用

①简化环境配置

②大大简化运维工作量

③微服务利器

      跑虚拟机会耗费很多的资源,而docker耗费的资源就非常少


Docker版本

Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE

一般平时用社区版就够了,企业版是需要花钱的


社区版按照stable和edge两种方式发布,每个季度更新stable版本,每个月更新edge版本