开发者学堂课程【Docker 快速入门:Docker能干什么】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/850/detail/14028
Docker 能干什么
内容介绍
一、容器虚拟化系统与之前虚拟机区别
二、开发/运维(DevOps)
三、企业级
四、在哪下载
一、容器虚拟化系统与之前虚拟机区别
虚拟机参考之前的虚拟机技术,一步步优化得到容器虚拟化系统两者区别如下
虚拟机(virtual machine)就是带环境安装的一种解决方案。
它可以在一种操作系统里面运行另一种操作系统,比如在 Windows 系统里面运行Linux 系统。
现在的讲课的系统是红蜘蛛 Windows10,现在用的是 CentOs-Rd02.
应用程序对此毫无感知,因为虚拟机看上去跟真实系统一模一样,而对于底层系统来说,虚拟机就是一个普通文件,不需要了就删掉,对其他部分毫无影响。对于现在的 Windows10 系统,虚拟机就是一个普通文件。
这类虚拟机完美的运行了另一套系统,能够使应用程序,操作系统和硬件三者之间的逻辑不变。
除了 Linux 各种库以外,还包含了很多硬件。虚拟机不但模拟操作系统,例如处理器、硬盘包括打印机等等,虚拟机极其强大,克隆了环境等一份,在此之上,安装了 Java 等一系列的软件。但我们在运用虚拟机的时候,经历一系列的移步。如果这时使用老师的电脑启用虚拟机,最少也需要两到三分钟。
在这里,可以看到虚拟机的缺点
由于前面虚拟机存在这些缺点,Linux 发展出了另一种虚拟化技术:Linux 容器(Linux Containers,缩写为 LXC)。
Linux 容器不是模拟一个完整的操作系统,而是对进程进行隔离,有了容器,就可以将软件运行所需的所有资源打包到一个隔离的容器中,容器与虚拟机不同,不需要捆绑一整套操作系统,只需要软件工作所需的库资源和设置系统因此而变得高效轻量并保证部署在任何环境中的软件都能始终如一地运行。一个完整的虚拟机系统需要很大的内存,Linux 系统提出既然有一些共用的,那么只要内核部分,其他不相关的就不要。此时不在共用这些库,而是用这些内核,这时就是一个一个的集装箱,独立的放在各个位置上。
比较了 Docker 和传统虚拟化方式的不同之处:
1、传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程:
2、而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。
3、每个老器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源。
这时可以极快速的运用容器虚拟机,Docker 是秒级的,与虚拟机的速度是不可比的。Docker 就是个极快速的、即高效率的和高浓缩版的 Linux 系统。
二、开发/运维
一次构建,随处运行
(1)更快速的应用交付和部署
(2)更便捷的升级和扩缩容
(3)更简单的系统运维
(4)更高效的计算资源利用
三、企业级
1、新浪
例如微博某个帖子点击率大,转发量大,这是形成一种弹性云扩容,也就是平台平时一百台服务器可以承担客户浏览,但突然有一个新闻热点,点击量特别大,这时一瞬间的暴击,这时运用 Docker 可以避免系统奔溃的出现。
2、美团云
(1)、更轻量:基于容器的虚擦化,仅包含业务运行所需的 rurtime 环境,CentOS/Ubuntu 基础镜像仅170-M:宿主机可部署100~1000个容器
(2)、更高效:无操作系统虚擦化开销
计算:轻量、无服务并铺
储存:系统盘
储存:NS 隔离
(3)、更敏捷、更灵话:
分层的存是和售管理,devcpa 理念
支持多种同地配置
3、蘑菇街
·轻量,钞级的快速启动速度
·篱单,易用,活跃的社区
·标准统一的打包/部器/运行方案
·镇像支持增量分发,易于部署
·易于构建,良好的 RESTAP1,也很适合自动化测试和持续集成
·性能,尤其是内存的开销
四、去哪下载
1、官网docker官网:http://www.docker.com docker
2、中文网站:https://www.docker-c
仓库:Docker Hub 官网:https://hub.docker.comGit Hub 可以提高各种代码
Docker Hub 是运行环境,即镜像,国外的网站太慢