Docker 是一个开源的平台,我们可以用 Docker 来开发、部署和运行我们的应用程序
。Docker 可以帮助我们将应用程序和底层基础设施进行分离,以帮助我们更快的实现交付。通过 Docker 技术,我们可以像管理我们的应用一样管理我们的基础设施(比如操作系统、依赖的开发包等)。通过 Docker 技术,可以精简我们的整个开发和交互流程。
传统的软件开发模式是: 开发人员在本地先开发好应用,然后提交到测试环境,测试人员测试没有问题,最终部署到线上,供用户使用。
痛点:由于交付的单元是应用,但是应用又依赖于基础设施,比如依赖操作系统、开发包版本等等。这些因素的不确定性,导致了上面问题的发生。
有什么方式解决这个问题
相信大家都安装过虚拟机,比如你想在 Windows 电脑上搭建一个 Linux 系统,需要提前下载好 Linux 系统的 ISO 镜像文件,然后通过它就可以安装一个 Linux 系统。
Vmware 虚拟机
Vmware 虚拟机
这和 Docker 有什么关系呢?Docker 其实是一个轻量级的虚拟化技术。Docker 可以让开发者在构建应用时,将应用与其依赖的环境一起打包到一个可移植的容器中, 然后很方便地发布到任意操作系统中。倘若,测试人员面向的是整个打包好的容器进行测试,那么,上述提到的问题将不会发生。
Docker 的 Logo
Docker 于 2013 年 3 月以 Apache 2