写在前面
其实docker 一直不算陌生,之前工作的时候,经常和docker + K8S打交道。 后来也自己试着在自己虚拟机上安装,打包,运行过docker镜像。但要是被问起一些docker相关的理论,反而没办法回答的很好。
这里对其知识点进行了一个总结,涉及到较为 “详细的docker的理论知识” 和“对K8S的一个非常简短的提及” 。
一些 docker 常用指令,如安装,打包,启动,查看,停止等等,可以在我之前的博客中看到。
个人以为即使不是专业运维,了解docker 还是很有必要的,k8s则有点麻烦,没那个必要。
- 什么是敏捷开发
将大项目分为多个互相关联,可以独立运行的小项目,小项目可分开完成开发,测试,然后集成组装起来。
它包括一下这些名词:
- 持续集成,而不是很久才集成(即代码的全部编译,在测试环境上系统的部署,启动,测试用例的全部执行等)一次,这样问题小,但好解决
- 重构,
- 结对编程,即人与人的交流讨论
- 站会,
- 小版本发部
- 自动化测试
- 什么是DevOps / 和敏捷的不同
敏捷旨在更高效的代码开发,DevOps 旨在安全,高效,可靠的代码开发和集成部署。
- DevOps有哪些优势?(对比传统的交付,部署模式)
- DevOps旨在 将整个开发,测试,部署过程自动化,更适合应付软件的持续交付 ,那种更频繁的小版本发布。
- 流程的自动化使得 操作环境更稳定,更快捷,相较于传统的部署方式,以前可能需要专业的运维人员进行长达数小时或者数天的环境准备,新模式则更快,而且对操作人员要求低
- docker 的引入使得资源的被精确量化,按需付费,避免浪费
- k8s更方便的提供 弹性伸缩,活性检测,自动拉起,负载均衡,等功能,更贴合分布式系统
- K-8s实现容器间通信,且提供了更安全,更自由的网络,端口等选择,
- CI(持续集成)功能是