什么是Docker?
上图是虚拟机和容器的区别(让不同的应用运行在不同的虚拟机里面,实现了这个应用的隔离,容器技术同样也可以做到应用的隔离,而且它速度要比虚拟化技术要更方便更小巧)
Docker能干什么?
- 简化配置(也是容器最重要的一个功能,源代码、运行环境、配置都可以打包到一个服务器里面,这个容器可以运行在不同的环境里面,配置简化了自然就可以提高开发效率)
- 代码流水线管理
- 提高开发效率
- 隔离应用
- 整合服务器
- 调试能力
- 多租户
- 快速部署
容器时代的“双城记”,两大热门技术:docker、kubernetes(简称k8s,因为k和s之间有8个字母)
kebernetes是一个容器编排的工具(就是对容器的创建、管理、调度、运维等)
大海航行靠舵手--Kubernetes
DevOps = 文化 + 过程 + 工具
传统的项目部署:
- 首先要买一台 Physical server
- 然后要安装一个操作系统 Operating System Windows或Linux
这就暴露了很多的缺点:
- 部署非常慢
- 成本非常高
- 资源浪费
- 难于迁移和扩展
- 可能会被限定硬件厂商
虚拟化技术出现以后:
虚拟化的优点:
- 资源池———一个物理机的资源分配到了不同的虚拟机里
- 很容易扩展———加物理机器or加虚拟机
- 很容易云化———亚马逊AWS,阿里云等
虚拟化的局限性:
- 每一个虚拟机都是一个完整的操作系统,要给其分配资源,当虚拟机数量增多时,操作系统本身消耗的资源必增多
容器技术为什么会出现:
容器解决了什么问题?
- 解决了开发和运维人员之间的矛盾
- 在开发和运维之间搭建了一个桥梁,是实现devops的最佳解决方案
- 容器技术其实就是提供了一个App的打包
- 打包好的容器可以运行到任何的环境上的,这样就解决了开发和运维不在同一个环境上的问题
什么是容器?
- 对软件和其依赖的标准打包
- 应用之间相互隔离
- 共享一个 OS Kernel
- 可以在很多主流操作系统上
容器和虚拟机的区别:
- 容器是APP层面的隔离
- 虚拟化是物理资源层面的隔离
虚拟化技术和容器技术是可以融合使用的
Docker只是容器化技术的一种实现
来源:oschina
链接:https://my.oschina.net/u/3843989/blog/3065111