分享一下最近正在b站上看动力节点的docker课程,整理了相关学习笔记,会按照学习进度慢慢更新的,加油
- 本套课程适合零基础、技术提升乃至所有编程语言开发者;
- 课程对应包含含基础篇、提升篇与高级篇,共计十二大章节。
- 本课程主要学习知识点:“7个深度/3个全面”;
- 针对Docker的知识体系,无需再查找任何其它资料。真正做到一课在手,无需它求。
1.深度剖析了Windows的Hyper-V虚拟化原理、Docker引擎的现代架构体系、多架构镜像原理。
2.通过实例全面讲解了Dockerfile指令
3.深度解析了build cache机制、网络通信过程与通信原理。
4.全面且讲解了目前最流行的三种Docker管理平台及CIG监控平台的搭建、配置及使用。
5.深度讲解了docker distribution、docker registry、harbor私有镜像中心的搭建过程及原理。
6.深度剖析了HTTPS加密验证原理,
7.深度讲解了数字证书、根证书、数据摘要、数字签名等概念与用途。度剖析了Swarm的节点架构、服务架构及服务部署模式;
8.全面详细的讲解了Docker中MySQL“一主两从”的读写分离主从集群搭建过程,Redis的“一主两从”的主从集群搭建、“一主两从三哨兵”的高可用集群搭建,及“三主三从”的Redis分布式系统搭建过程。
9.深度解析了Swarm的Overlay网络模型及Ingress网络;并详细解读了Raft算法的原版英文论文,
10.深度剖析Swarm集群中manager的选举原理。
学习地址:https://www.bilibili.com/video/BV1sb411X7oe
1 Docker概述
1.1 课程引入
1.1.1 开发/运维互掐
开发与测试和运维间的矛盾,主要是由于环境的不同而引发的。如果能将开发人员使用的环境交给测试与运维使用,这些问题就都能解决。
1.1.2 DevOps
DevOps是一种思想,是一种管理模式,是一种执行规范与标准。它主要是用于促进开发、测试与运维部门间的沟通、协作与整合。
1.1.3 运维对架构师的抱怨
运维总是希望,如果能搞个一键部署,一下搞定就好了。
1.1.4 学习中集群搭建的问题
在学习过程中,由于机器配置较低从而导致启动的虚拟机较少,影响学习效率。
1.2 Docker简介
Docker 是一个开源的应用容器Container引擎, 其可以让开发者将应用及应用运行的环境打包到一个轻量级、可移植的镜像中,然后发布到任何流行的Linux、Windows机器上。
Docker原本是由一个PaaS提供商dotCloud公司的创始人Solomon Hykes发起的一个内部项目,是基于其多年云服务技术的一次革新,使用 Go 语言开发。2013年3月开源,并在GitHub上进行维护。后由于 Docker 项目的火爆,2013 年底,dotCloud 公司更名为 Docker,公司域名也变更为了https://docker.com。
云计算中的服务包括三个层次:IaaS、PaaS、SaaS。 |
---|
1.3 Docker的用途
1.3.1 提供统一的运行环境
在生产环境中,很多时候的开发、测试及上线环境都是不一样的,从而导致项目(war或jar)在不同阶段出现很多其它阶段所不存在的奇怪的问题。
Docker容器除了可以提供相同的应用外,还提供了该应用的统一运行环境,确保在任何宿主机HOST上都可以跑出相同的结果。即Docker = jar/war + 环境。
1.3.2 便捷的应用迁移
由于 Docker 确保了统一的