必知必会的 Docker 核心知识

自 2013 年起,随着 Docker 的正式面世,容器技术迅速成为了基础技术领域中的热门。而在近两三年中,随着容器编排领域的混战结束,Kubernetes 已经成为了容器编排领域事实上的标准。git

有一些人存在误解,认为 Kubernetes 的出现取代了 Docker。但事实上,Docker 与 Kubernetes 是相辅相成的。Kubernetes 使用 Docker 做为容器运行时,用来启动应用;当 Docker 容器规模变大时,天然是须要有容器编排工具进行管理的。引用最近一次的网络研讨会后的文章内容:docker

In fact, Kubernetes is better with Docker. And Docker is better with Kubernetes.

不管在使用 Docker 或是 Kubernetes 亦或者是使用基于这些技术的其余衍生技术时,都有可能会遇到一些意料以外的状况,当问题发生时,咱们老是但愿能够快速定位问题,而且从根本上解决问题。安全

通常状况下,上层的问题比较容易解决,但若是问题发生在运行时/Docker 或容器上时,若是没有系统性的知识,很难从根本上解决问题;固然,有些时候经过搜索引擎能够帮咱们找到一些问题的解决办法,但若是不将其完全搞懂,之后遇到相似问题可能仍是无法快速解决。网络

我自 Docker 0.9 版本时开始学习和使用,本身踩过了不少坑,活跃在社区中,也帮别人解决了不少问题。如今个人新专栏《Docker 核心知识必知必会》正式上线了,共 51 节,从 7 个核心维度来 系统性 的讲解 Docker 容器技术的核心特性及原理,实践与源码相结合;部份内容会深刻到 Linux 内核源码,以此来创建起从内核到 Docker 容器技术的知识体系。架构

我但愿借由这个课程,将 Docker 容器技术的本质和思想与我在开发和运维 Docker 过程当中对其原理和实践经验的总结讲清楚,并将结合着实践和核心特性的原理,加深对 Docker 容器技术的理解运维

所以,我把课程划分红了三大模块:工具

  • Docker 入门: 这个模块分红了三篇内容,经过第一篇,带你了解 Docker 容器技术生态的发展脉络;第二篇,是为刚入门 Docker 的读者准备的,也是为后续章节进行铺垫;第三篇是不少读者或公司都常会困惑的问题,Docker 与 Linux 内核兼容性如何,要上生产环境该选择哪一个版本?我会在这一篇中与你分享,让你再也不困惑。
  • Docker 核心特性:这个大模块围绕 Docker 的核心知识点,拆分红了 7 大部分,分别是容器、镜像、CI/CD、架构、存储、安全和网络。这些是该课程的核心内容,在这部份内容中,我将基本按照从实践到原理的方式进行组织,让你从根儿上知道如何用,以及为何这么用。学习

    • 在容器篇,我会先给你介绍容器生命周期管理相关的内容,那你对容器的使用有个基本认识;以后会对容器资源进行管理;并对容器的核心进行深刻剖析;最后动手来本身写容器。
    • 在镜像篇,我会给你介绍镜像完整的生命周期管理;镜像是如何构建与分发的;如何使用 Dockerfile 进行镜像构建;并介绍 Docker 的下一代构建系统是如何提速近 10 倍的;接下来结合个人实际镜像为你介绍 Dockerfile 的优化和最佳实践;最后分别深刻源码为你介绍镜像构建、分发的原理,以及认证流程和原理。
    • 在 CI/CD 篇,我会为你介绍如何将 Docker 与 CI/CD 结合,并为你介绍适用于生产环境使用的 CI/CD pipeline,但愿能为你建设 CI/CD 提供一些启发。
    • 架构篇中我会结合源码给你介绍 Docker 的核心架构,以及其是如何协做的;Docker 提供了一种可扩展的 Plugin 机制,在特定场景下使用 Plugin 扩展 Docker 也是一种不错的选择;接下来会结合实际经验为你介绍容器监控和日志方面的具体实践方案,但愿能为你在实际使用中提供一个参考;最后会 与你分享我所总结的 Docker 相关问题的定位及调试手段 正确的方法能让你排查问题的效率翻倍。
    • 存储篇主要介绍 Docker 中 volume 的使用;以及如何进行数据备份和恢复;最后会深刻内部为你介绍如今 Docker 最推荐的 Overlay2 存储驱动的工做原理。
    • 安全篇会涉及镜像和容器运行时的安全;以及会涉及一些的 Linux 内核安全相关的知识,为你详细介绍如何利用 Linux 内核的安全模块为 Docker 保驾护航。
    • 网络篇除了介绍基础网络知识外,还会为你介绍如何定制 bridge 网络;iptables 始终是一个很核心的知识点,我会为你将 Docker 与 iptables 梳理清楚,以及如何自定义的进行网络管理;最后会为你详细介绍 docker-proxy ,Docker 内部 DNS 以及 Docker 的核心网络知识,让网络再也不成为一个拦路虎。
  • 生态扩展:不得不说“开源”是 Docker 成长迅速的关键,在这个模块中,我将为你介绍 Docker 与 Kubernetes 间的联系,以及容器生态中的其余组件;与你分享如何参与到 Docker 容器生态内,固然这里也会涉及到 Docker 如今的代码组织相关的内容;最后将与你探讨 Docker 生态将来的走向。

专栏新上线,限时优惠!可直接访问连接 https://gitbook.cn/gitchat/co... 参与学习,或扫描下方图片二维码参与:优化

PS:能够生成本身的分享海报,得 24.75搜索引擎

相关文章
相关标签/搜索