内容简介:认识Docker
一 什么是Docker
1. 什么是Docker?
Docker是基于 Go 语言实现的开源容器项目。Docker的构想是要实现“Build,Ship and Run Any App, Anywhere”, 即通过对应用的封装(Packaging)、分发(Distribution)、部署(Deployment)、运行(Runtime)生命周期进行管理,达到应用组件“一次封装,到处运行”的目的。这里的应用组件,既可以是一个Web应用、一个编译环境,也可以是一套数据平台服务,甚至是一个操作系统或集群。
二 为什么要使用Docker?
1. Docker容器虚拟化的好处
举例子,搭建一个LAMP环境:
传统的做法是:
- 安装Apache,MySQL,PHP以及它们各自运行所依赖的环境;
- 对环境进行配置,包括创建用户,配置参数等;
- 进行功能测试,看看是否工作正常;如果不正常进行调试追踪
- ……
应用越多,越难处理;一旦服务器进行迁移,就要重新部署;这些琐碎的工作极大地降低了工作效率。 究其根源,是这些应用直接运行在底层操作系统上,无法保证同一份应用在不同的环境中行为一致。
使用Docker:
通过容器打包应用,解耦应用和运行平台。迁移的时候, 只需要在新的服务器上启动需要的容器就可以了,无论新旧服务器是否是同一类型的平台。
2. Docker在开发和运维中的优势
在开发和运维中,具有如下几个方面的优势:
- 更快速的交付和部署
- 更高效的资源利用;Docker是内核级的虚拟化,可以实现更高的性能,同时对资源的额外需求很低。
- 更轻松的迁移和拓展;Docker容器几乎可以在任意的平台上运行
- 更简单的更新管理;使用Dockerfile。只需要小小的配置修改,就可以替代以往大量的更新工作。
3. Docker与虚拟机
与虚拟机比较,Docker的优势:
- Docker容器很快,启动和停止可以在秒级实现
- Docker容器对系统资源需求很少
- Docker通过类似Git设计理念的操作来方便用户获取、分发和更新应用镜像,存储复用,增量更新。
- Docker中的应用获得的是接近原生的运行性能
三 小结
无论是系统管理员、应用开发人员、测试人员以及运维管理人员,都应该尽快掌握Docker,尽早享受其带来的巨大便利。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。