自2013年以来,随着Docker的正式上线,容器技术迅速成为基础技术领域的热门话题。近两三年,随着容器编排领域混战的结束,Kubernetes已经成为容器编排领域的事实标准。有些人有一种误解,认为Kubernetes的出现取代了Docker。但实际上,Docker和Kubernetes是相辅相成的。Kubernetes使用Docker作为启动应用程序的容器运行时;当Docker容器的体积变大的时候,自然需要一个容器编排工具来进行管理。引用最近一次网络研讨会后的文章:事实上,Kubernetes与Docker搭配使用效果更好。Docker更适合Kubernetes。无论是使用Docker还是Kubernetes,或者使用其他基于这些技术的衍生技术,都可能会出现一些意想不到的情况。当出现问题的时候,我们总是希望能够快速定位问题,从根本上解决问题。一般上层的问题比较容易解决,但是如果问题出现在运行时/Docker或者容器上,没有系统的知识很难从根本上解决问题;当然,有时候搜索引擎可以帮助我们找到一些问题的解决方案,但是如果你对它们了解不透彻,以后可能无法快速解决类似的问题。我从0.9版本开始学习和使用Docker。踩过很多坑,活跃在社区,帮助别人解决了很多问题。现在我的新专栏《Docker 核心知识必知必会》正式上线,共51节,从7个核心维度系统讲解Docker容器技术的核心特性和原理,结合实践与源码;部分内容会深入到Linux内核源码,以此建立起从内核到Docker容器技术的知识体系。希望通过本课程阐明Docker容器技术的本质和思路,以及本人在开发和运维Docker过程中对其原理和实践经验的总结,结合实践原理和核心特性加深对Docker的理解了解容器技术。因此,我将课程分为三个模块:Docker简介:本模块分为三个部分。通过第一部分,带大家了解Docker容器技术生态的发展;第二部分是为刚入门Docker的读者准备的。准备工作也是为后面的章节做铺垫;第三章是很多读者或者公司经常混淆的问题,Docker和Linux内核的兼容性如何,生产环境应该选择哪个版本?我将在本文中与您分享,让您不再感到困惑。Docker核心特性:这个大模块围绕着Docker的核心知识点分为7个部分,分别是容器、镜像、CI/CD、架构、存储、安全和网络。这些是课程的核心内容。这部分的内容我基本上会从实践到原理进行整理,让大家知道怎么用,为什么用。在容器章节,我会先给大家介绍容器生命周期管理相关的内容,让大家对容器的使用有一个基本的了解;然后你将管理容器资源;并对容器核心进行深入分析;最后自己动手写容器。在镜像章节,我会为大家介绍镜像完整的生命周期管理;如何构建和分发镜像;如何使用Dockerfile构建镜像;我的实景图给大家介绍Dockerfile的优化和最佳实践;最后,我将深入源码介绍镜像构建和分发的原理,以及认证过程和原理。在CI/CD章节中,我将向大家介绍如何将Docker与CI/CD相结合,并向大家介绍适合生产环境的CI/CD流水线,希望能为大家构建CI/CD提供一些启发。在架构篇中,我会介绍Docker的核心架构以及它是如何与源码协同工作的;Docker提供了可扩展的Plugin机制,在特定场景下使用Plugin扩展Docker也是一个不错的选择;下面结合实践经验,介绍容器监控和日志的具体实用方案,希望能在实际使用中为大家提供参考;最后分享一下我总结的Docker相关问题的正确定位和调试方法。将故障排除效率提高一倍。存储章节主要介绍了Docker中volume的使用;以及如何进行数据备份和恢复;最后深入内部,为大家介绍目前Docker比较推荐的Overlay2存储驱动的工作原理。安全章节会涉及到镜像和容器运行时的安全;以及Linux内核安全相关的一些知识,详细介绍如何使用Linux内核的安全模块来保护Docker。网络篇除了介绍基本的网络知识外,还会介绍如何自定义桥接网络;iptables一直是一个很核心的知识点,我给大家整理一下Docker和iptables,以及如何自定义网管;最后会详细介绍docker-proxy、Docker内部DNS和Docker核心网络知识,让网络不再是障碍。生态扩张:不得不说,“开源”是Docker快速成长的关键。在本模块中,我将介绍Docker与Kubernetes的联系,以及容器生态中的其他组件;与大家分享如何参与到Docker容器生态中,当然这也会涉及到Docker目前代码组织相关的内容;最后和大家一起探讨下Docker生态的未来发展方向。新栏目上线,限时优惠!可直接访问链接https://gitbook.cn/gitchat/co...参与学习,或扫描下图二维码参与:PS:可自行生成分享海报,领取24.75
