Docker是go语言编写的,我们立足于javaEE上线学习。
Docker是什么
出现的原因:
一款产品从开发到上线,从操作系统,到运行环境,再到应用配置。作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各种版本迭代之后,不同版本环境的兼容,对运维人员都是考验。
Docker把测试环境可以跑的,代码\配置\系统\数据。。。一起打包上线。
就像在水族馆一条小金鱼,在鱼缸里面,你把它整个鱼缸连这条鱼,从水族馆买回你家了,在水族馆能活泼乱跳,那在家也可以活泼乱跳。
环境配置如此麻烦,换一台机器,就要重来一次,费力费时。很多人想到,能不能从根本上解决问题,软件可以带环境安装?
安装的时候,把原始环境一模一样地复制过来。开发人员利用Docker可以消除协作编码不同环境的差异问题。以前开发人员提交代码,现在开发人员提交一整套环境。
Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,在任何地方构建,发布并运行任何应用。
把redis,mysql,kafka这些安装成集装箱,生成Docker镜像。上线时同步移植。
Docker解决了运行环境和配置问题软件容器,方便做持续集成并有助于整体发布虚拟技术。