在docker没有出现之前,开发人员在自己的开发环境下进行开发,然后测试环境需要部署一套相同的环境进行测试,而部署人员在部署时也会有一套部署环境,那么三者的环境就有可能不一样,从而导致测试结果不对或者部署服务无法正常使用等问题。那么docker就是一项能够帮助开发、测试、部署等人员 共享计算机环境的技术。一旦能够实现共享计算机环境,那么能够极大的降低各个团队的工作成本。
那么如何才能共享计算机环境呢?我们可以这样做:在某一台计算机上安装软件和配置环境,检查无误后通过某些系统镜像软件将整个计算机的环境做成一个新的镜像,然后可以将该镜像在开发、测试和部署人员之间共享。但是这样做的弊端就是镜像非常复杂,包括软件的运行环境和整个系统,同时共享时重装系统(单系统或双系统等等),耗时很久。对于开发人员来说,经常会遇到开发不同系统之间的应用,我们可以买多台机器装不同的系统,也可以在一台机器上通过虚拟机软件虚拟出不同的系统等等,而虚拟机也需要安装不同系统的镜像。而docker的让我们可以共享计算机环境,将精力专注在开发上。
docker有三大元素:镜像(image)、容器(Container)和仓库(Repository)。
镜像:一个完整的文件系统。例如ubuntu镜像、centos镜像、不同版本的ubuntu镜像、安装vim的ub