Docker概述

2022-07-14 21:51:35 浏览数 (1)

有酒则有诗,无酒则无诗。

对于Docker的认识应该是两年前的事儿了,记得当时有个项目是用Docker进行构建,然后发布。当时并不了解Docker只是迫于形势,简单学习了Docker的几个概念,容器镜像,仓库...

Docker

Docker是基于go语言实现的开源容器项目。诞生于2013年,发起者是dotCloud公司。其主要构想是Build,Ship,and Run Any App , AnyWhere。通过对应用的封装(Packaging),分发(Distribution),部署(Deployment),运行(Running)生命周期进行管理,达到应用级别的一次封装,处处运行

这里的应用,既可以是一个web应用,一个编译环境,也可以是一套数据库服务平台,甚至是一个操作系统或集群。

Docker的好处

假设用户基于常见的LAMP(linux apache maysql php)来构建网站。传统做法:安装apache,mysql,php以及依赖的环境,然后进行配置,之后进行开发调试,调试完成后进行部署。如果项目较多,则整个流程相当繁琐。

另外,如果日后服务器需要迁移,则需要对每个应用都进行迁移和调试,生产效率低下。究其原因,是这些应用直接运行在底层操作系统上,无法保证统一应用在不同环境中表现一致。

Docker提供了一种简单的方式,通过容器打包应用,解耦应用和平台环境。这意味着迁移的时候,只需在新的服务器上启动容器即可。这样一来,既提高了生产效率,又降低了迁移过程中的风险。

同时对于开发和运维来说,Docker又有下面几个优势。

  • 更快的交付和部署

对于开发人员来说,可以使用Docker镜像来快速构建一套标准的开发流程,开发完成后,开发,测试及运维人员直接使用相同的环境部署代码。同时Docker可以快速的创建,删除容器,实现快速开发迭代,节约开发,测试及部署时间。

  • 更高的资源利用效率虚拟化管理程序,Docker是内核级的虚拟化,可以实现性能的提升,同时对资源的额外需求较少。

Docker的运行不需要额外的

  • 更轻松的迁移和扩展

Docker几乎可以运行在任意平台,包括物理机,虚拟机,公有云,私有云,个人电脑及服务器等。同时支持主流的操作系统。

  • 更简单的更新管理

使用Dockerfile,只需要简单的配置修改,即可替代以往大量的更新工作。

Docker与其他技术比较

特性

容器

虚拟机

启动速度

秒级

分钟级

性能

接近原生

较弱

内存代价

很小

较多

硬盘使用

一般为MB

一般为GB

运行密度

单机上千个容器

一般几十个

隔离性

安全隔离

完全隔离

迁移性

优秀

一般

Docker 与虚拟化

虚拟化virtualization(技术是一个通用的概念,在不同领域有不同的理解。在计算领域,一般指的是计算虚拟化(computing virtualization),或通常说的服务器虚拟化。

总结

简述Docker

javascript基础知识总结

0 人点赞