学习中心> Docker 入门> 正文

Docker 入门

2课时 |
1618人已学 |
免费
课程介绍
通过本节课了解云原生历史,云原生技术发展历程、云原生的定义与技术要点(本节正式内容)。快速入门Docker,掌握容器与镜像、容器运行时的生命周期、Moby容器引擎架构、容器和VM之间的差异。
 
 

 

开发者学堂课程【Docker 入门第一课时:第一堂“云原生”课】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/50/detail/1007


第一堂“云原生”课

 

内容简介

一.    云原生技术发展历程(为什么要学习这门课)

二.    课程简介与预备知识(这门课到底学什么)

三.    云原生的定义与技术要点(本节正式内容)

 

一.云原生技术发展历程(为什么要学习这门课)

1.云原生技术发展简史:

image.png

2.云原生技术生态现状:

以云原生全景图为背景,大致可包括云原生基金会,云原生技术社区,云原生技术产业。

l  云原生基金会:CNCF(云原生基金会)是目前云计算领域最成功的开源基金之一,是Kubernetes,containerd,etcd,Envoy等开源项目的托管基金会。

l  云原生技术社区:CNCF是目前托管的20+正式项目共同构成了现代云计算生态的基石。其中Kubernetes项目是全世界第四活跃的开源项目。

l  云原生技术产业:全球各大共有云产商+100+技术创业公司持续投入,总体市场于2021年逼近1000亿美元。阿里云“全面上云”。

image.png

 

云原生全景图

3.时代的关键节点

l  2013年,Docker项目发布,使得全操作系统语义的沙盒技术唾手可得,使用户更好地更完整地打包自己的应用,使开发者有了最小的可运行单位。但对传统PaaS产业来说则是一次非常严重的“降维打击”。

l  2014年,Kubernetes项目发布,其意义在于Google Borg/Omega系统思想借助开源社区“重生”,确立了“容器设计模式”。其选择开源的原因是Borg以及Omega系统极其复杂,其内容难以被外界直接利用,但是他们的设计思想可以利用Kubernetes被大家受用,影响大家的想法。

l  2015~2016年,容器编排“三国争霸”。Docker Swarm,Mesos,Kubernetes在容器编排绽开角逐。而竞争的原因也是容易理解的,因为Docker(容器)本身的价值是很大的,但是如若让其真正产生商业价值,产生云的价值,那么就一定要在编排上有一席之地。其中Mesos是一个技术更强的项目;Swarm是一个偏生态的项目;而Kubernetes较于另外两者比较明显的特点是其生态和技术都是比较强的。

l  2017年,Kubernetes逐渐胜出,成为当时乃至现在容器编排的事实标准。Dockers公司宣布在核心产品内置Kubernetes服务,Swarm项目逐渐停止维护。

l  2018年,云原生技术理念逐步萌芽。Kubernetes和容器成为所有云厂商的既定标准,以“云”为核心的软件研发思想逐步形成。

l  2019年——云原生技术普及元年。阿里巴巴集团“全面上云”,以“云”为核心的软件研发思想逐步成为默认选项,Kubernetes等云原生技能成为技术人员必修课,大量工作岗位涌现。“会Kubernetes“已经远远不够,”懂Kubernetes“、”会云原生架构“的重要性日益凸显。

 

二.课程简介与预备知识(这门课到底学什么)

1.教学大纲

l  基础与进阶并重。夯实基础+深入剖析,是一个循序渐进的学习过程。

l  课后自测。课后理论知识评测,用测试题的方式总结知识点,打造自己的云原生知识体系。

l  云端实践。实践出真知,每个知识点都后附云端实践环节+详细实践步骤。

image.png

一期课程内容

2.公开课授课计划(第一期)

l  第一堂课上线,2019年4月第三周

l  课程更新频率。25个课时,每周一课,部分知识点每周两课。

l  课后自测+云端实践。每个知识点一次。

l  讲师阵容。CNCF社区资深成员与项目维护者,阿里云容器平台团队专家级工程师,云原生社区资深技术专家(外部讲师)

不定期大咖直播+课程答疑+落地实例讲解

3.课程预备知识

l  Linux操作系统。通识性基础即可,能够在Linux环境下进行开发最佳;

l  计算机与程序设计基础。入门级工程师或高年级本科生水平即可;

l  容器的使用基础。能够使用Docker部署简单应用,有Docker化应用开发经验最佳。可参考https://docs.docker.com/get-started/part2/

 

三.云原生的定义与技术要点(本节正式内容)

1.云原生的定义

   云原生是一条使用户能低心智负担的、便捷的、可扩展可复制的方式,能最大化利用“云”的能力,发挥”云“的价值的最佳路线。云原生实际上是指导我们去对软件进行架构和设计的思想,云原生的愿景是让软件从诞生起就生在云上、长在云上的全新的软件开发、发布和运维模式。

思考:集装箱(容器技术)为什么具有革命性?

容器技术使我们的应用能够有完整的自包含的定义方式,因此应用才能有敏捷的、可扩展可复制的方式发布在云上,发挥出云的能力,这就是容器技术对云计算产生深远影响的根本原因,因此容器技术被视作云原生技术的核心地盘。

2. 云原生的技术范畴

image.png

3. 云原生思想的两个理论基础

不可变基础设施,目前已实现了容器镜像。

云应用编排理论,目前实现了容器设计模式。

4. 基础设施向云演进的过程

image.png

意义:

l  基础设施一致性和可靠性:容器镜像;自包含;可漂移

l  简单可预测的部署与运维:自描述,自运维;流程自动化;容易水平扩展;可快速复制管控系统与支撑组件

5. 云原生关键技术点

l  自包含、可定制的应用镜像

l  应用快速部署与隔离能力

l  应用基础设施创建和销毁的自动化管理

l  可复制的管控系统与支撑组件

 

本节总结:

l  云原生具备重要意义,它是云时代技术人自我提升的必备路径

l  “云原生”定义了一条云时代应用从开发到交付的最佳路径

l  这条最佳路径上所需的核心技术点是本公开课的主要讲授内容