了解docker

docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口
docker的主要特性

1、文件系统隔离每个进程容器运行在完全独立的根文件系统里2、资源隔离可以使用cgroup为每个进程容器分配不同的系统资源。例如,cpu和内存3、网络隔离每个进程容器运行在自己的网络命名空间里,拥有自己的虚拟接口和ip地址4、写时复制采用写时复制方式创建根文件系统,这让部署变得极其快捷,并且节省内存和硬盘空间5、日志记录docker将会收集和记录每个进程容器的标准流(stdout/stderr/stdin),用于实时检索或批量检索6、变更管理容器文件系统的变更可以提交到新的映像中,并可重复使用以创建更多的容器,无需使用模板或手动配置7、交互式shelldocker可以分配一个虚拟终端并关联到任何容器的标准输入上。例如,运行一个一次性交互shell

docker的使用场景

1、简化配置docker在降低额外开销的情况下提供了同样的功能,它能让你将运行环境和配置放在代码汇总然后部署。同一个docker的配置可以在不同的环境中使用,这样就降低了硬件要求和应用环境之间耦合度2、代码流水线管理docker给应用提供了一个从开发到上线均一致的环境,让代码的流水线变得简单不少3、提升开发效率开发环境的机器通常内存比较小,使用虚拟的时候,我们经常需要为开发环境的机器加内存,而现在docker可以轻易的让几十个服务在docker中跑起来4、隔离应用为了降低成本,进行服务器整合,将一个整体式的应用拆分成低耦合的单个服务(微服务架构),开发时会在一台机器上运行不同的应用5、整合服务器docker隔离应用的能力使得docker可以整合多个服务器以降低成本6、调试能力docker提供了很多的工具,这些工具不一定只是针对容器,但是却适用于容器。他们提供了很多功能,包括可以为容器设置检查点、设置版本、查看两个容器之间的差别,这些特性可以帮助调试bug7、多租户环境可以为每一个租户的应用层的多个实例创建隔离的环境,简单而且成本低廉,因为docker环境启动的速度快,diff命令很高效8、快速部署docker为进程创建一个容器,不需要启动一个操作系统,时间缩短为秒级别
对比传统虚拟机

image.png

你可能感兴趣的:(了解docker)