标签(linux): docker
此文来自本人学习以及网络整理而来。
笔者Q:972581034 交流群:605799367。有任何疑问可与笔者或加群交流
对于用户来说,可能一开始在不了解的情况下会对容器报以拒绝的态度,但是在尝到容器的甜头、体验到它的强大性能之后,相信大家最终是无法抵挡其魅力的。容器技术能够解决IT业目前面临的很多问题,而且优势也很明显。
一、使用Docker的七大理由
1、容器具有不可变的特性。
容器将操作系统、程序库、配置文件、路径和应用程序打包在一起运行,也就是说,我们在做QA测试的时候整个镜像是什么样,投入到产品环境以后就是什么样,其性能不会有任何差距
2、容器都非常轻量。
单个容器的内存占用很小,不像其他进程动辄占用上万MB的内存空间,容器只会给主进程分配内存,可以有效降低系统开销
3、容器的速度更快。
虚拟机的启动时间一般都在分钟级,容器的启动速度可以达到秒级,启动容器就跟启动linux进程一样快
4、 技术储备
相对大公司这个非常重要,如果你们都在用,他们不用就落后了,等到完全成熟以后就跟不上了
5、 无技术栈和技术债
没有任何Openstack或者saltstack,服务down了就down了,所有的服务都是松耦合
6、跟上潮流,提升自我
面试的时候大家都会Docker,你不会是不是落后了
7、符合当前业务
虽然Docker很优秀,但是,大多数处在第二种状态,很少有符合自己的业务
二、Docker值得关注六个特性
1.文件系统隔离:每个进程容器运行在一个完全独立的根文件系统里
2.资源隔离:系统资源,像CPU和内存等可以分配到不同的容器中,使用cgroup
3.网络隔离:每个进程容器运行在自己的网络空间,虚拟接口和IP地址
4.日志记录:Docker将会收集和记录每个进程容器的标准流(stdout/stderr/stdin),用于实时检索或批量检索
5.变更管理:容器文件系统的变更可以提交到新的映像中,并可重复使用以创建更多的容器。无需使用模板或手动配置
6.交互式shell:Docker可以分配一个虚拟终端并关联到任何容器的标准输入上,例如运行一个一次***互shell
三、Docker四个应用场景
1.web应用的自动化打包和发布
2.自动化测试和持续集成、发布
3.在服务型环境中部署和调整数据库或其他的后台应用
4.从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境
四、Docker九个基本事实
1.容器不同于虚拟机
2.容器不如虚拟机来得成熟
3.容器可以在几分之一秒内启动
4.容器已在大规模环境证明了自身的价值
5.容器是轻量级的
6.容器的耦合性高,引发安全问题
7.Docker已成为容器的代名词,但它不是唯一的提供者
8.容器能节省IT人力,加快更新
9.容器仍面临一些没有解决的问题