云计算——容器
-
作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。
-
座右铭:低头赶路,敬事如仪
-
个人主页:网络豆的主页
目录
前言
一.容器简介
二.主流容器技术
1.docker
(1)容器的组成
(2)容器特点
2.容器和虚拟化区别
3.什么时候适合用虚拟化,什么时候适合容器
4.容器的应用场景
前言
本章会讲解云计算中的容器,了解容器的基本作用,核心,组成,以及特点。
一.容器简介
容器:包装或装载物品的贮存器,利用一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任一Linux或Windows机器上,也可以实现虚拟化。相互之间不会有任何接口,实现APP与操作系统的解耦。
镜像是可执行的独立软件包,包含软件运行的内容:代码,运行时环境,系统工具,系统库和设置。(容器就是将OS上层的应用进行了隔离)
二.主流容器技术
1.docker
定义:Docker属于Linux容器的一种封装,提供简单易用的容器使用接口,他是目前最Linux的Linux容器解决方案。
作用:将应用程序与该程序的依赖,打包在一个文件里。运行这个文件,就会生成一个虚拟容器,程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了Docker,就不用担心环境问题。
核心:实现应用与运行环境整体打包及打包格式统一。
(1)容器的组成
一个完整的Docker有以下几个部分组成:
- 客户端(Docker Client)电脑,桌面
- 守护进程(Docker Daemon)等待接受客户端消息,可执行命令
- 镜像(Docker image)创建docker的容器
- 容器(Docker Container)镜像的实例,容器包含在镜像中,容器是镜像的子系统
- 仓库(Docker Registry)存储镜像
(2)容器特点
容器本质上是一款轻量级虚拟化技术
- 用户需要高效运行环境,而非整个机器
- 一次构建,到处运行
- 部署方便(创建的速度快,秒级)
- 隔离性好
- 成本低
2.容器和虚拟化区别
虚拟化 容器 隔离性强,有独立的GUEST OS
共享内核和OS,隔离性弱
虚拟化性能差(>15%) 计算/存储无损耗,无GuestOS内存开销(~200M)
虚拟机镜像庞大(十几G~几十G),且实例化时不能共享
Docker容器镜象200~300M,且公共基础镜象实例化时可以共享 虚拟机镜象缺乏统一标准 Docker提供了容器应用镜象事实标准,OCI推动进一步标准化
虚拟机创建慢(>2分钟) 秒级创建(30s)读文件逐个加载
秒级(