《Docker技术入门与实战》学习笔记-1
2017-01-29 18:16
239 查看
第一章 初识Docker
1.1 什么是Docker
Docker开源项目
Docker 是基于Go语言实现的云开源项目,诞生于2013年初,最初发起者是dotCloud公司(后改名为Docker Inc)。Docker项目已加入了Linux基金会,遵循Apache 2.0协议,全部开源代码均在https://github.com/docker/docker上进行维护。
Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,即通过对组件的封装(packaging)、分发(Distribution)、部署(Deployment)、运行(Runtime)等生命周期的管理,达到应用组件级别的“一次封装,到处运行”。这里的应用组件,既可以是一个Web应用,也可以是一套数据库服务,甚至是一个操作系统或编译器。
Linux容器技术
Docker引擎的基础是Linux容器(Linux Containers,LXC)技术。IBM DeveloperWorks上给出了关于容器技术的准确描述:
容器有效地将由单个操作系统管理的资源划分到孤立的组中,以便更好地在孤立的组间平衡有冲突的资源使用需求。与虚拟化相比,这样既不需要指令级模拟,也不需要即时编译。容器可以在核心CPU本地运行指令,而不需要任何专门的解释机制。此外也避免了准虚拟化(paravirtualization)和系统调用替换中的复杂性。
1.2 为什么使用Docker
Docker容器虚拟化的好处
与传统方法相比,Docker通过容器打包应用意味着迁移只需要在新的服务器上启动需要的容器即可。节约了大量的时间,降低部署过程出现问题的风险。Docker在开发和运维中的优势
更快速的交付和部署更高效的资源利用。 Docker容器的运行无需额外的虚拟化管理程序支持,它是内核级的虚拟化,可以实现刚搞性能,同时对资源的额外需求很低。
更轻松的迁移和扩展。Docker容器几乎可以在任意的平台上运行,包括物理机、公有云、私有云、个人电脑,服务器等。
更简单的更新管理。
Docker与虚拟机比较
Docker容器很快,启动和停止可以在秒级实现。Docker容器对系统资源需求很少,一台主机上可以同时运行数千个Docker容器
Docker通过类似Git的操作来方便用户获取、分发和更新应用镜像,指令简明、学习成本低。
Docker通过Dockerfile配置文件来支持灵活的自动化创建和部署机制,提高工作效率。
相关文章推荐
- 《Java与模式》学习笔记之六----单例模式(Singleton Pattern)
- 《从零开始学Swift》学习笔记(Day 39)——构造函数重载
- 《C++ primer》学习笔记之二十:引用详解1、2、3
- 《JavaScript权威指南》学习笔记 第三天 找个对象
- 《COM原理及应用》学习笔记之第四章
- 《Going Deeper With Convolution》学习笔记
- 《The C Programming Language》学习笔记——指针与数组1
- 学习笔记——关于指向常量指针的解引用的发现
- 《Windows NT FileSystem Internals》学习笔记之DRIVER_OBJECT对象结构
- Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(三)之Everything Is an Object
- C++&C学习笔记(一)(基础)
- 《从零开始学Swift》学习笔记(Day 49)——扩展声明
- 《设计模式精解》学习笔记(十三)------Observer(观察者)模式
- S5PV210(TQ210)学习笔记——输入子系统驱动
- 《visual c#.net网络核心编程》学习笔记系列之:获取本地主机信息
- S5PV210(TQ210)学习笔记——linux下HDMI显示不正常
- 《C++.Primer.Plus》学习笔记(二)
- 《Java编程思想》学习笔记12——Java new I/O(一)
- 《JavaScript高级程序设计》学习笔记(表单和数据完整性)
- 一篇非常详细的 Docker 学习笔记