- 想要开阔技术视野并为踏入工作领域做积累的学生;
- 毕业1-3年内想要拓宽技术栈并升职加薪的工程师;
- 想要进入云原生领域大展拳脚的工程师。
讲师 legendtkl,BAT 技术专家,具有多年的一线互联网工作经验。技术视野广泛,技术栈集中在云原生和分布式系统技术,Hadoop/Spark/Flink/HBase 等分布式计算和存储系统。Docker、Kubernetes 及其生态系统;在使用 Docker 和 Kubernetes 的过程中积累了大量的第一手经验。
目前的技术水平已经真正进入到了云计算时代,各大基础设施纷纷上云。阿里已经在去年双十一将所有业务都迁移到了云上,而云的基础设施就是 Docker。作为当下最主流的容器技术。毫无疑问,Docker 容器技术已经成为互联网从业成员不可或缺的技术。
使用 Docker 技术来开发和交付我们的应用,将极大提升工程效率,简化缩短整个开发流程。
Docker 技术与传统应用交付方式的最大区别在于,传统的方式将应用开发和部署进行割裂,而Docker 技术的创新点在于直接将应用的软件依赖和环境依赖打包进 Docker 镜像,部署环节直接简化成了如何规范化容器的部署管理(这正是社区和 Kubernetes 等管理系统所做的事情),整个链路的工程效率提升极大。
并且,由于目前处于云原生的技术趋势下,大部分的应用最终都将通过容器化的方式来交付。无论是无状态应用(比如 WebServer),还是分布式有状态应用(比如 ZooKeeper 等),抑或是当前最火热的大数据和 AI 技术,也在逐步和云原生技术进行结合。
本课程将带你全面获取 Docker 的基础知识、核心原理以及最佳实践。在应用容器化的道路上,如果不熟悉 Docker 的最佳实践,将会走很多弯路。比如将多个程序打包到一个 Docker 容器中就很有可能带来过多僵尸进程的问题,因此在设计之初,课程就明确了需要重点讨论并且要最佳实践的问题,希望大家少走弯路。
考虑到 Docker 技术绝不是一个孤立的技术栈,Docker 技术栈结合使用最多的就是 Kubernetes 相关技术,因此本课程还会重点介绍 Kubernetes 技术,让你全面掌握相关技能。
本课程会以一种“学习思路再现”的形式进行讲解,从提出问题开始,到尝试解决问题,最后理解问题背后的原理。这种学习方式能够帮助我们不仅知其然、而且知其所以然。更重要的是通过这种方式习得的知识要比填鸭式的照本宣科显得更加牢靠。
专栏分成 5 部分,47 小节,内容循序渐进,其中各个部分的内容组织如下所示:
第一章 Docker 基础
本部分内容会介绍 Docker 的一些背景和基础知识,包括Docker容器的发展之路、Docker安装与运行、Docker技术概览、Docker镜像技术,以及动手实践构建出第一个属于我们自己的 Docker 应用。
第二章 Docker 核心技术
在这个部分大家将更加深入地理解 Docker 的核心技术。包括 Docker 隔离技术的本质 Namespace深入解析、 Docker资源限制技术的幕后主使 Cgroup 剖析、 Docker 镜像深入理解、Docker 的本质、Docker 镜像构建、Docker 网络相关知识、Docker 数据存储相关知识等。
第三章 Docker 最佳实践
前面两部分介绍完了理论部分,第三章主要介绍 Docker 最佳实践。包括:
讲解Dockerfile 最佳编程实践、如何构建最小镜像最佳实践、其他 Docker 使用中的最佳实践,解释容器化时保持 Docker 是单进程模型的原因,介绍容器设计模式、 Docker 监控方案最佳实践,以及 从 0 到 1 构建一个分布式高可用的 Web 应用。
第四章 云原生容器技术 Kubernetes
前面介绍了 Docker 技术的一些理论知识和最佳实践,但Docker 技术从来都不是一个孤立的技术。Kubernetes 凭借着 Google 内部早期积累的经验和优秀的云原生设计理念,已经全面占领了云端统一管理的地位。这一章主要介绍 Kubernetes 相关的技术知识,包括集群资源隔离介绍、配置管理、Kubernetes的典型及控制器模式,最后通过 Kubernetes 来构建容器化应用。
第五章 云原生监控方案
目前 Prometheus 已经成为云原生监控方案的事实标准,最后一章我们将介绍 Prometheus 的一些知识。
有这几个常用的一般也够用了,腾讯云pull Nginx 速度也还不错!golang和docker就是倚天剑和屠龙刀,哈哈。。。
容器是个单进程模型,这篇文章讲的太好了,知道不少来龙去脉!赞!
终于成功了! curl "localhost:5000/set?key=test&value=test.com" OK. We have set test to be test.com[root@VM-0-13-centos web]# [root@VM-0-13-centos web]# curl "localhost:5000/get?key=test" test.com[root@VM-0-13-centos web]# 部署redis容器时候发现一个问题: docker 如果出现此错误: Error response from daemon: Conflict. The container name "/redis-test" is already in use by container a666 e30ccb0dda354f116fe320855070b75e2942eff4502bc88289fbd27afc7c. You have to remove (or rename) that container to be able to reuse that name.. 那么可以通过 docker ps -a | grep redis 把已经存在的容器id找出来,然后 docker rm 容器ID 这样就可以部署redis容器: docker run --name redis-test -p 6379:6379 -d redis:latest
老师,Docker 的商业收费版和免费版有什么具体的区别吗?还是说收费版的功能更加强大和完善一些?
我是前端开发,对 Linux 也不是很熟悉,可以学习这门课程吗?
课程的体系很完善,平时对 Docker 接触不多,大多是简单使用,希望能通过这门课给自己梳理一个完整的 Docker 和 K8S 体系。
看到 "机会是留给有准备的人的",这句话很有感触。在公司是运维岗,平时的工作也说不上很忙,空闲时间比较多,但是大都浪费了基本没有认真去学习过什么东西。公司今年业务调整准备往云上迁移,但平时根本没有这方面的技术储备,想想心情还是很复杂的,如果把平时的时间都利用起来,那么我是不是也有机会去主导这一次的业务变更?不过,现在学习依旧不晚,看了课程的简介和开篇,课程内容正是我现在所需要的。果断下单,开是学习。
老师可以详细的说一下 Docker 和 K8S 这两者之间的关系吗?一直傻傻的搞不清楚!
老师的文笔很不错,这篇文章读起来像一个故事一样,让我清楚的知道了 Docker 的起源和崛起之路。
感觉目前云计算在国内有很大的发展前景,看了老师的介绍有一点吸引到了我,现在对于docker技术确实关注不太多,简单的使用没有什么问题,希望跟着课程有一个深入的学习,了解一些底层原理。
慕斯1088534
慕斯1088534
慕斯1088534