你将收获
- BAT 技术专家第一手容器化迁移经验分享;
- 全面的 Docker 知识体系及使用指南;
- 容器技术的本质以及10+ 热门镜像的最佳实践;
- 云原生容器技术 K8S 核心技术透彻分析及实践落地指导;
- 一线大厂云原生监控系统使用标准及实践落地指导。
讲师介绍
讲师 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 的一些知识。
- 想要开阔技术视野并为踏入工作领域做积累的学生;
- 毕业1-3年内想要拓宽技术栈并升职加薪的工程师;
- 想要进入云原生领域大展拳脚的工程师。
- 本专栏为图文形式内容服务,共计 47 小节,上线时间为 2020 年 7 月 28 日,预计 2020 年 10 月 28 日更新完成;
- 本专栏更新时间为每周 1,3,5 更新 1 篇(法定节假日顺延),形式为图文;
- 订阅成功后,用户即可通过慕课网 PC 端、App 端、WAP 端享有永久阅读的权限;
- 慕课专栏为虚拟内容服务,订阅成功后概不退款;
- 在专栏阅读过程中,如有任何问题,请邮件联系 kf@imooc.com;
- 慕课专栏版权归本平台所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表,违者将依法追究责任。
慕斯1088534
有这几个常用的一般也够用了,腾讯云pull Nginx 速度也还不错!golang和docker就是倚天剑和屠龙刀,哈哈。。。
讲师回答 / legendtkl
嗯,相当来说国内可以使用阿里云或者腾讯云的镜像中心,但是上面的镜像种类相比 DockerHub 还要缺少一点。
慕斯1088534
容器是个单进程模型,这篇文章讲的太好了,知道不少来龙去脉!赞!
讲师回答 / legendtkl
谢谢。感兴趣欢迎分享哦
慕斯1088534
终于成功了! 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