问题分析:我们写的代码会接触到好几个环境:开发环境、测试环境以及生产环境:

如果测试的jdk版本和开发环境不一样会出现什么问题,会出现环境不兼容问题,项目越大麻烦越大,那么这个时候如果能将项目和环境一起打包在一个容器里面供给测试,环境和项目一起打包当然就不会出现上面的解决水土不服问题了,而这种方式将引入下面docker的概念。

Docker 是一个开源的应用容器引擎
诞生于 2013 年初,基于 Go 语言实现, dotCloud 公司出品(后改名为Docker Inc)
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上。
容器是完全使用沙箱机制,相互隔离
容器性能开销极低。
Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)
总结:docker是一种容器技术,他解决容器款环境迁移问题