2019-07-07-What-is-Docker.md

title date tags
What is Docker
2019-07-07 10:28:23 -0700

容器

容器到底是什么?

容器是基于image(镜像)运行的"隔离"环境,相同容器可以并存在同一服务器上;在底层系统一致的情况下,能够快速启动服务、保障服务可用性;

更简单的说,容器好比运输车(Container);车内可以装同一类的(Image)物品(快递/石油/泥沙);装有石油的两辆车可以同时在一条航线(内核)行驶,装有不同物品的车也是如此互不干扰;

如何运行容器?

其实上面的例子已经告诉了大家,运行容器我们需要一个操作系统、镜像、docker服务

  • Ubuntu/Centos/Windows目前都支持
  • 镜像:使用Dockerfile定义镜像内容包含代码、运行环境所需的依赖软件,打包成一个标准单元;
  • Docker服务:配合镜像运行容器的载体;

Docker是什么?

  • Docker是运行容器化环境的载体,目前是世界比较领先的容器平台;
  • 由Go开发的一款基于Linux内核cgroup、namespace及AUFS类的UnionFS等技术对进程进行封装隔离,从操作系统层进行虚拟化;
  • 能够启动重复服务,快速构建开发、测试、预上线多类环境;
  • 标注化单元,使得启动的容器具有服务唯一性,在交付过程中能够快速回滚到可用版本;
  • 能够在短时间内拉起服务(秒、甚至毫秒级别);
  • 能够从一个平台上运行的应用迁移到另一个平台上,且不用担心运行环境无法正常运行的情况;
  • 在接口遇到突泉式增长时能够自动伸缩缓解服务承载能力

搬着小板凳看看如何使用Docker吧

可能了解虚拟化的朋友看到这里就又些疑惑了,以上功能似乎和大多云厂商用的虚拟化没什么区别呀!

没错,但你只说对了一半,接下来我们针对传统方式、虚拟化、容器化进行对比;

传统Vs虚拟化Vs容器化

话不多说,先上图表�

部署场景 依赖 服务可部署数量 启动时间 硬盘使用 性能
传统 操作系统 因服务而定 --- ALL 原生
虚拟化 虚拟产品 几十个 分钟级 GB 弱于
容器化 Docker 上千个 秒级 MB 接近

同等资源的机器上,容器的优势不要太强,这就是为什么容器化在业务场景上使用更优于虚拟化,当然虚拟化有的好处是容器目前没做到的(根据用户进行隔离)而容器化是基于不同应用进行的隔离

你可能感兴趣的:(运维,操作系统)