1、为什么会出现Docker
(1)每一款软件产品都是从开发到上线,从操作系统,到运行环境,再到应用配置。很多互联网公司都不得不面对的是开发和运维之间的协作,在各个软件版本的迭代后,不同版本环境的兼容,对于运维人员来说有很大的考验。
(2)环境配置如此麻烦,换一台机器就要重新来一次 ,浪费人力物力。于是很多大牛在思考,能不能从根本上解决问题,软件可以携带环境安装?也就是说,在运维人员安装部署的时候,能不能把原始环境一模一样地复制过来。
(3)基于以上出现的问题,Docker就自然而然的出现并发展迅速。它对以上问题给出了一个标准化的解决方案,开发人员利用Docker可以消除协作编码时“在我的机器上可以正常工作,在你的机器上不能正常工作”的问题。
举例:在使用Docker前相当于搬家,把之前屋子里的所有东西完完全全的搬进一个新的房子,但环境以及发生了改变。在使用Docker后,相当于搬楼,连带房子一起搬走。
2、Docker的目标
通过对应用组件的封装、发布、部署、运行等生命周期的管理,使用户的APP(可以是web应用或数据库应用等)及其运行环境能够做到“一次封装,到处运行”,实现了跨平台、跨服务器,大大简化了操作。
开发人员把这相关应用及运行环境打包作为一个镜像,运行在Docker上面,运维人员只需下载Docker就行了。
Linux容器技术的出现解决了这样一个问题,而Docker就是从此基础上发展过来的。
有点类似于Java的JVM,可到处运行。
3、什么是Docker技术
解决了运行环境和配置问题软件容器,方便做持续化集成并有助于整体发布的容器虚拟化技术。
即Docker是一种虚拟化容器技术,Docker基于镜像,可以秒级启动各种容器,每一种容器都是一个完整的运行环境,容器之间互相隔离。
(镜像、容器都是Docker三要素之一。可以把容器看做是一个简易版的Linux环境和应用程序,每个容器都是相互隔离的)