目录
2.3 设置阿里云镜像源并安装 Docker-CE并设置为开机自动启动(使用在线源安装)
一、云计算的三种服务
1、IaaS(基础设施)
Infrastructure-as-a-Service (基础设施即服务),有时候也叫做 Hardware-as-a-Service,以前如果想在办公室或者公司的网站上运行一些企业应用,需要去买服务器,或者别的高昂的硬件来控制本地应用,让企业业务运行起来。
但是现在有 laaS,企业可以将硬件外包到别的地方去。laaS.公司会提供场外服务器,存储和网络硬件,可供租用。节省了维护成本和办公场地,公司可以在任何时候利用这些硬件来运 行其应用。
2、PaaS(平台,中间件都准备好了)
PaaS: Platform-as-a-Service (平台即服务),某些时候也叫作中间件。公司所有的开发都可以在这层进行,节省了时间和资源。
PaaS 公司在网上提供各种开发和分发应用的解决方案,比如虚拟服务器和操作系统。这节省了你在便件上的费用,也让分散的工作室之间的合作变得更加容易。网页应用管理,应用设计,应用虚拟士机,存储,安全以及应用开发协作工具等。
3、SaaS(软件)
SaaS 层是和日常生活接触的一层,大多是通过网页浏览器来接入。任何一个远程服务器上的应用都可以通过网络来运行,就是 SaaS了。
你消费的服务完全是从网页如 Netfix,MOG,GoogleApps,Dropbox 或者苹果的iCloud 那里进入这些分类。尽管这些网页服务是用作商务和娱乐或者两者都有,但这也算是云技术的一部分。国内的下秒数据 Nexadata 可以快速接入新数据(尤其 SaaS 系统),准确沉淀明细数据,形成准确主数据,业务变化能快速修改。
二、docker理论
1、Docker是什么?
- 是一种轻量级的“虚拟机”
- 在Linux容器里运行应用的开源工具
Docker 的Logo设计为蓝色鲸鱼,拖着许多集装箱,鲸鱼可以看作为宿主机,集装箱可以理解为相互隔离的容器,每个集装箱中都包含自己的应用程序。
Docker从一开始就以提供标准化的运行时环境为目标,真正做到"Build,Ship and Run any APP,Angwhere",可以将同一个构建版本用于开发、测试、预发布、生产等任何环境,并且做到了与底层操作系统的解耦。在此基础上还进一步发展出了Caas (容器即服务)技术。
2、Docker容器与虚拟机的区别
2.1 隔离与共享
虚拟机通过添加Hypervisor层(虚拟化中间层),虚拟出网卡、内存、CPU等虚拟硬件,再在其上建立虚拟机,每个虚拟机都有自己的系统内核。而Docker容器则是通过隔离(namesapce)的方式,将文件系统、进程、设备、网络等资源进行隔离,再对权限、CPU资源等进行控制(cgroup),最终让容器之间互不影响,容器无法影响宿主机。
容器与宿主机共享内核、文件系统、硬件等资源。
2.2 性能与损耗
- 与虚拟机相比,容器资源损耗要少。
- 同样的宿主机下,能够建立容器的数量要比虚拟机多
- 但是,虚拟机的安全性要比容器稍好,要从虚拟机攻破到宿主机或其他虚拟机,需要先攻破 Hypervisor层,这是极其困难的
- 而docker容器与宿主机共享内核、文件系统等资源,更有可能对其他容器、宿主机产生影响。
不同点 | docker容器 | 虚拟机 |
内核 | 共享宿主机内核 | 独立的内核 |
启动速度 | 秒级 | 分钟级 |
性能损耗 | 几乎无,接近原生 | 最多50%的消耗,弱于容器 |
单机吞吐 | 成千上百个 | 几十个 |
隔离性 | namespace资源隔离 cgroup资源限制 |
完全隔离 |
磁盘占用 | 小,甚至几十KB(根据镜像层的情况) | 非常大,上GB |
并发性 | 一台宿主机可以启动成百上千个容器 | 最多几十个虚拟机 |
操作系统 | 主要支持Linux | 主要支持Linux |
封装程度 | 只打包项目代码和依赖关系,共享宿主机内核 | 完整的操作系统,与宿主机隔离 |
3、Docker的使用场景
- 打包应用程序简化部署
- 可脱离底层硬件任意迁移
- 例:服务器从腾讯云迁移到阿里云
4、docker核心概念
4.1 镜像
- 一个面向docker容器引擎的只读模板
4.2 容器
- 从镜像创建的运行实例
4.3 仓库
- 集中保存镜像的地方
5、CentOS安装Docker的两种方式
- 使用CURL获得Docker的安装脚本进行安装
- 使用YUM仓库来安装Docker
6、容器的概念
6.1 什么是容器
容器是一种轻量级,可移植,自包含的软件打包技术,是一种应用程序,可以在几乎任何地方以相同的方式运行。
<