Docker能干嘛
之前的虚拟机技术
虚拟机技术缺点:
- 资源占用十分多
- 冗余步骤多
- 启动很慢
容器化技术
比较Docker和虚拟机技术的不同:
- 传统虚拟机,虚拟出一些硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件。
- 容器的应用直接运行在宿主机的内核上,容器是没有自己的内核的,也没有虚拟出我们的硬件,所以就轻便了。
- 每个容器之间是相互隔离的,每个容器内都有一个属于自己的文件系统,互不影响。
DevOps(开发、运维)
- 应用更快速的交付和部署传统:一堆帮助文档,安装程序
Docker:打包镜像发布测试,一键运行
- 更快捷的升级和扩缩容使用了Docker之后,我们部署应用就像搭积木一样。
(SpringBoot 1.5 Redis 5 tomcat 8)这个包整体升级
项目打包为一个镜像(就是一个应用,带着环境直接跑起来),扩展服务器A! 服务器B(服务器A出现问题了,性能到瓶颈了,要水平扩展,做负载均衡,在服务器B上直接一键运行这个镜像,B就被扩展起来了,就不需要像以前那样一个一个做,非常的麻烦)。 - 更简单的系统运维:在容器化之后,我们的开发,测试环境都是高度一致的
- 更高效的计算资源利用:
Docker是内核级别的虚拟化,可以再一个物理机上运行很多容器实列!服务器的性能可以被压榨到极致。