1. Docker简介
发布一个项目(jar + (Redis MySQL jdk ES)),发布项目能不能带上环境一起打包?
以前在服务区上配置一个应用的环境Redis MySQL jdk ES Hadoop等,配置超级麻烦,而且不能跨平台
现在的思路:
1. java -- apk -- 发布到应用商店 -- 张三使用apk -- 安装即可用
2. Java -- jar(环境) -- 打包项目带上环境(镜像) -- Docker仓库(商店) -- 下载我们发布的镜像 -- 直接运行即可
2. Docker能干嘛
传统虚拟机,虚拟出一套硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件,传统虚拟机资源占用十分多,冗余步骤多,启动很慢
Docker容器内的应用直接运行在宿主机上,容器是没有自己的内核的,也没有虚拟的硬件,也就是说容器化技术不是模拟的一个完整操作系统,因此很轻便
每个容器是互相隔离的,每个容器内都有一个属于自己的文件系统,互不影响
2.1 应用更快速的交付和部署
传统:一堆帮助文档,安装程序
Docker:打包镜像发布测试,一键运行
2.2 更便捷的升级和扩缩容
使用了Docker之后,我们部署应用就和搭积木一样
项目打包为一个镜像,扩展服务器...
2.3 更简单的系统运维
在容器化之后,我们的开发、测试环境都是高度一致的
2.4 更高效的利用计算资源
Docker是内核级的虚拟化,可以在一个物理机上运行很多的容器实例,服务器的性能可以被压榨到极致