今。曰。网。址<<更多详情
笔者计划写一个完好系列的docker常识总结,本文是第一篇,主要介绍docker是什么?主要的使用场景是什么?解决了哪些问题?和虚拟机有什么差异?
文章目录
一、 传统软件职业中存在的问题
二、集装箱与docker之间的联系
三、docker与虚拟机的差异
四、docker的使用场景
五、总结
Docker是一个开源的容器引擎,它轻巧,且易移植,“build once, configure once and run anywhere”。使用go语言开发,并遵照apache2.0协议。
一、 传统软件职业中存在的问题
开发、出产、测验环境不一致,开发环境下可用的服务挪到出产上不可用。
不同环境之间迁移成本太高,没有一致的软件布置封装规范及封装环境。
对于分布式软件继续集成(测验、打包、发布、布置、办理)周期很长,难以自动化、工程化。
面对瞬时用户流量增大的场景,很难完成分布式使用服务实例的快速布置。
二、集装箱与docker之间的联系
一般称docker为软件职业的集装箱技能,那么docker和集装箱有什么相似之处呢?
传统职业集装箱 软件职业Docker
装载实体货品 装载并运行使用服务
具有一致的标准,便于搬运 封装环境的一致性(JDK、环境变量都能够封装在一个docker镜像里边),能够遵照一定规矩重复的、快速的自动化装置布置
环境阻隔,每个公司的集装箱货品与其他的公司的货品不混在一同。 在linux中选用namespace技能进行资源阻隔,cgroups技能进行资源限制。容器之间互不影响。
资源共享,一个运送集装箱的船只,搭载多个集装箱 一台服务器能够发动多个docker容器。
三、docker与虚拟机的差异
docker和虚拟机在某些使用场景下比较像,但是docker不是虚拟机。



