Docker容器虚拟化的好处
开发者需要能方便高效构建应用,并且任何时间任何地点都可以获取。
Docker在开发和运维中的优势
对开发和运维( DevOps)人员来说,可能最梦寐以求的就是一次性地创建或配置,可以在任意环境、任意时间让应用正常地运行。而Docker恰恰是可以实现这一终极目标的瑞士军刀。
优势:
- 更快速的交付和部署
- 更高效的资源利用
- 更轻松的迁移和扩展
- 更简单的更新管理
Docker与虚拟机比较
作为一种轻量级的虚拟化方式,Docker在运行应用上跟传统的虚拟机方式相比具有显著优势。
特性 | 容器 | 虚拟机 |
---|---|---|
启动速度 | 秒级 | 分钟级 |
磁盘使用 | 一般为MB | 一般为GB |
性能 | 接近原生 | 弱于 |
系统支持量 | 单机支持上千个容器 | 一般几十个 |
隔离性 | 完全隔离 | 完全隔离 |
虚拟化与Docker
虚拟化技术是一个通用的概念,在不同领域有不同的理解。在计算领域,一般指的是计算虚拟化或通常说的服务器虚拟化。
简单的说,「虚拟化」,顾名思义,就是「虚拟」的,是「假」的,是形而上的,是观念上、逻辑上的划分。
举栗说明
假设你现在手头上有一套房子,并且你要把它给租出去,租金的市场价是2000元/月。那么有没有办法把它租得更贵,获得6000元的租金呢?你想到了两个办法:
- 找一个不差钱的傻X租户,让他每月交6000元。
- 把房子租给4个单身狗,租金为1500元/人/月。
虚拟化分类:
- 完全虚拟化
- 硬件辅助虚拟化
- 部分虚拟化
- 超虚拟机化
- 操作系统虚拟化
什么是物理机
什么是虚拟机
什么是Docker
Docker容器技术属于操作系统虚拟化范畴。
Docker核心概念
Docker技术的三大核心概念,分别是:
- 镜像(Image)
- 容器 (Container)
- 仓库 (Repository)
Docker镜像
Docker 镜像 (Image) 类似于虚拟机镜像,可以将它理解为个面向 Docker引擎的模板,包含了文件系统。
镜像从何而来
- 从Docker Hub下载 maven-> 中央仓库
- 通过Docker file自己创建出来
Docker容器
Docker容器(Container)类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应用。容器是从镜像创建的应用运行实例,可以将其启动、开始、停止、删除,而这些容器都是相互隔离、互不可见的。
注意:
容器和镜像一样,也是若干层的叠加,唯一区别是所有只读层的最上面一层,是一层可读可写层,可以记住这个简单的公式:容器 = 容器镜像 + 可读可写层
Docker仓库
Docker仓库(Repository)类似于代码仓库,是Docker集中存放镜像文件的场所。目前,最大的公开仓库是Docker Hub,存放了数量庞大的镜像供用户下载。国内的公开仓库包括Docker Pool等,可以提供稳定的国内访问。
注意:
Docker利用仓库管理镜像的设计理念与Maven非常相似。
咱们再来理解docker的两句口号就更好理解了
- 「Build, Ship and Run (搭建,发送,运行)」
- 「Build once,Run anywhere (搭建一次,运行到任何地方)」