一、docker简介
我们都知道,docker是容器,那么什么是容器?
首先它是一种轻量级的“虚拟机”,在linux容器里运行的开源工具。它也是一种虚拟机,但是是轻量级虚拟机,它不需要装入系统再使用,只要装入docker-ce——docker引擎,就可以做容器在不同平台的平滑迁移,拿过来直接用。
docker的特点:
1、 服务彼此之间相互独立 (需要联系时,利用服务间的解耦,便于管理,防止数据过多积累在一个文件中)
2、 服务可以灵活迁移 (可跨平台,docker-ce,通过dockery引擎的作用)
二、docker和虚拟机的区别
区别 | docker | 虚拟机 |
---|---|---|
启动时间 | 毫秒 | 1-3分钟 |
所占资源 | 占用小 | 占用大 |
安全性 | 不安全 | 安全 |
弹性扩展 | 执行时间短 | 执行时间长 |
- 启动时间:虚拟机的启动时完整的开机过程,包括开机自检–MBR引导–GRUB菜单–加载内核–init初始化,需要时间较长,30-60s;而docker本身没有装系统,只需要docker start id号 一条命令就能开启,开启为毫秒级,和服务开启速度一样。
- 所占资源:虚拟机是一个完整的主机,需要和裸金属一样的结构,构建虚拟的硬件资源,系统镜像,完整的系统安装过程,所以占用资源大;docker只包含所需的服务。
- 安全性:虚拟机是相互隔离的系统,而docker与宿主系统共享内核,未隔离,攻击一个容器,可攻破其他容器和宿主系统。
- 弹性扩展:扩展虚拟机的服务,需要一个个扩展,而docker只要通过镜像直接创建就行了,甚至有三合一的,直接一条命令从镜像到容器全部完成,非常快捷。
三、docker的核心
- 仓库
集中保存镜像的地方。一般有公有库和私有库,公有库就是官方提供的镜像仓库,私有库是本公司内部使用的镜像库 - 镜像
一个面向Docker容器引擎的只读模板,它就像是一个压缩包,下载镜像,使用镜像创建容器,它本身不能被改变,只能在原镜像的基础上创建新的镜像 - 容器
利用镜像创建的运行实例,必须先有镜像才有容器