Docker概念学习系列之为什么使用docker?(3)
不多说,直接上干货!
见【博主】撰写的https://mp.weixin.qq.com/s/FFSIOSecVdAr_aSDIFZwSA


Docker容器虚拟化的优点:
(1)环境隔离;
通过cgroups和namesapce进行实现资源隔离,实现一台机器运行多个容器互不影响。
比如:你在操作系统上安装了MySQL5.5.5版本。如果,你要安装MySQL5.5.5版本。此时,则需要配置文件和相关目录都更改掉。
而在docker环境下,可以同时使用独立运行,在使用的日志下随意切换,没点影响。
(2)更快速的交付部署;
使用docker,开发人员可以利用镜像快速构建一套标准的研发环境;开发完成后,测试和运维人员可以直接通过使用相同的环境来部署代码。Docker可以快速创建和删除容器,实现快速迭代,大量节约开发、测试、部署的时间。并且,各个步骤都有明确的配置和操作,整个过程全程课件,使团队里更容易理解应用创建和工作的过程。
使用Docker可以通过定制应用镜像来实现持续集成,持续交付,部署。开发人员构建后的镜像,结合持续集成系统进行集成测试,而运维人员则可以在生产环境中快速部署该镜像,也可以结合持续部署系统进行自动部署。
对开发和运维( DevOps) 人员来说, 最希望的就是一次创建或配置, 可以在任意地方正常运行。
使用 Docker 可以通过定制应用镜像来实现持续集成、 持续交付、 部署。 开发人员可以通过 Dockerfile 来进行镜像构建, 并结合 持续集成(Continuous Integration) 系统进行集成测试, 而运维人员则可以直接在生产环境中快速部署该镜像, 甚至结合持续部署(Continuous Delivery/Deployment) 系统进行自动部署。
而且使用 Dockerfile 使镜像构建透明化, 不仅仅开发团队可以理解应用运行环境, 也方便运维团队理解应用运行所需条件, 帮助更好的生产环境中部署该镜像。
(3)更高效的资源利用;
docker容器的运行不需要额外的虚拟化管理程序的支持,它是内核级的虚拟化,可以实现更高的性能,同时对资源的额外需求很低。
Docker是基于内核级的虚拟化,可以实现更高效的性能,同时对资源的额外需求很低,相比传统虚拟机方式,相同配置的主机能够运行更多的应用。
由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销, Docker 对系统资源的利用率更高。 无论是应用执行速度、 内存损耗或者文件存储速度, 都要比传统虚拟机技术更高效。因此,相比虚拟机技术,一个相同配置的主机,往往可以运行更多数量的应用。
(4)更易迁移扩展;
由于 Docker 确保了执行环境的一致性, 使得应用的迁移更加容易。 docker容器几乎可以在任意的平台上运行,包括乌力吉、虚拟机、公有云、私有云、个人电脑、服务器等,这种兼容性让用户可以在不同平台之间轻松的迁移应用。其运行结果是一致的。 因此用户可以很轻易的将在一个平台上运行的应用, 迁移到另一个平台上, 而不用担心运行环境的变化导致应用无法正常运行的情。
Docker容器几乎可以在任何平台上运行,同时支持主流的操作系统发行版本。
(5)更简单的更新管理。
使用Dockerfile,只需要小小的配置修改,就可以替代以往的大量的更新工作。并且所有修改都是以增量的方式进行分发和更新,从而实现自动化和高效的容器管理。
(6)更快速的启动时间
传统的虚拟机技术启动应用服务往往需要数分钟,而Docker容器应用,由于直接运行于宿主内核,无需启动完整的操作系统,因此可以做到妙级,甚至毫秒级的启动时间,大大的节约了开发,测试,部署的时间。
(7)一致的运行环境
开发过程中一个常见的问题是环境一致性问题。 由于开发环境、 测试环境、 生产环境不一致, 导致有些 bug 并未在开发过程中被发现。 而 Docker 的镜像提供了除内核外完整的运行时环境, 确保了应用运行环境一致性, 从而不会再出现 “这段代码在我机器上没问题啊” 这类问题。
(8)更轻松的维护和扩展
Docker 使用的分层存储以及镜像的技术, 使得应用重复部分的复用更为容易, 也使得应用的维护更新更加简单, 基于基础镜像进一步扩展镜像也变得非常简单。 此外, Docker 团队同各个开源项目团队一起维护了一大批高质量的官方镜像, 既可以直接在生产环境使用, 又可以作为基础进一步定制, 大大的降低了应用服务的镜像制作成本。
同时,大家可以关注我的个人博客:
http://www.cnblogs.com/zlslch/ 和 http://www.cnblogs.com/lchzls/ http://www.cnblogs.com/sunnyDream/
详情请见:http://www.cnblogs.com/zlslch/p/7473861.html
人生苦短,我愿分享。本公众号将秉持活到老学到老学习无休止的交流分享开源精神,汇聚于互联网和个人学习工作的精华干货知识,一切来于互联网,反馈回互联网。
目前研究领域:大数据、机器学习、深度学习、人工智能、数据挖掘、数据分析。 语言涉及:Java、Scala、Python、Shell、Linux等 。同时还涉及平常所使用的手机、电脑和互联网上的使用技巧、问题和实用软件。 只要你一直关注和呆在群里,每天必须有收获
对应本平台的讨论和答疑QQ群:大数据和人工智能躺过的坑(总群)(161156071)






Docker概念学习系列之为什么使用docker?(3)的更多相关文章
- Docker概念学习系列之详谈Docker 的核心组件与概念(5)
不多说,直接上干货! 见[博主]撰写的https://mp.weixin.qq.com/s/0omuSAjF5afJBZBxhbKTqQ 想要了解Docker,就必须了解Docker的五大核心概念 ...
- Docker入门系列之二:Docker术语
原文作者:Jeff Hale 原文地址:https://towardsdatascience.com/learn-enough-docker-to-be-useful-1c40ea269fa8 翻译: ...
- Docker概念学习系列之Docker的主要目标(2)
不多说,直接上干货! Docker的主要目标: 见[博主]撰写的https://mp.weixin.qq.com/s/ELYUgMpQOhVvTsNCHQLELg 通过对应用组件的封装.分发.部署.运 ...
- Docker概念学习系列之Docker核心概念之仓库Repository
不多说,直接上干货! Docker仓库 仓库(Repository)是集中存放镜像的地方,分公共仓库和私有仓库. 仓库是集中存放镜像文件的场所. 有时候会把仓库和仓库注册服务器(Registry)混为 ...
- Docker概念学习系列之Docker核心概念之容器container
不多说,直接上干货! Docker 利用容器来运行应用. 容器是从镜像创建的运行实例. 它可以被启动.开始.停止.删除.每个容器都是相互隔离的.保证安全的平台. 可以把容器看做是一个简易版的 Linu ...
- Docker概念学习系列之Docker核心概念之镜像Image
不多说,直接上干货! 说明: Docker 运行容器之前需要本地存在对应的镜像,如果镜像不存在,Docker 会尝试先从默认镜像仓库下载(默认使用Docker Hub公共注册服务器中的仓库),用户 ...
- Docker概念学习系列之Docker与传统虚拟机差异(4)
不多说,直接上干货! 见[博主]撰写的https://mp.weixin.qq.com/s/YihjPONUcUi4b_7RC8oLYw 传统虚拟化是在硬件层面实现虚拟化,需要有额外的虚拟机管理应 ...
- Docker概念学习系列之虚拟化(系统虚拟化和容器虚拟化)
不多说,直接上干货! 虚拟化定义: 虚拟化是一种资源管理技术,是将计算机的各种实体资源,如服务器.网络.内存及存储等,予以抽象.转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的配置更 ...
- Docker概念学习系列之Docker是什么?(1)
不多说,直接上 干货! Docker是什么? 见[博主]撰写的 https://mp.weixin.qq.com/s/iWAzj7baD93hexsVJ7pBfQ Docker是一个开源的应用容 ...
随机推荐
- [指南] 15分钟学会MySQL(Linux版)
原文链接:http://www.mysqlpub.com/thread-348-1-1.html 原创出处:MySQLpub.com , 作者:kider ,转载请注明作者和出处,并不能用于商业用 ...
- 顺序表[A+B->A]
题目:表A 1 3 5,表B 2 4 6,都呈非递减排序,现将两个表合并成一个表,也呈非递减排序,存放在A中(或者B中),言外之意是不能开辟新表!拿出B中数据,沿着A的后面一直往前比较,如果小于就 ...
- info AI drive
Who we look for Here at comma, we don't care about the source of your education or your traditional ...
- noip第23课作业
1. 营救 铁塔尼号遇险了!他发出了求救信号.距离最近的哥伦比亚号收到了讯息,时间就是生命,必须尽快赶到那里. 通过侦测,哥伦比亚号获取了一张海洋图.这张图将海洋部分分化成n*n个比较小的单位,其 ...
- U盘或者移动银盘退出时一直显示占用中问题解决--最粗暴解决方式
问题描述: ---------------------------弹出 USB 大容量存储设备 时出问题---------------------------Windows 无法停用“通用卷”设备,原 ...
- hdu 5071 vector操作恶心模拟
http://acm.hdu.edu.cn/showproblem.php?pid=5071 对于每一个窗口,有两个属性:优先级+说过的单词数,支持8个操作:新建窗口,关闭窗口并输出信息,聊天(置顶窗 ...
- codeblock快捷键使用
•在编辑区按住右键可拖动代码,省去拉滚动条之麻烦:相关设置:Mouse Drag Scrolling. •Ctrl+D可复制当前行或选中块. •可拖动选中块使其移动到新位置,按住Ctrl则为复制到新位 ...
- C# 使用Queue<T>代替递归算法遍历树
递归时候每次调用自身在堆栈上要记录返回地址,而堆栈的空间很少,调用次数多了后会产生堆栈溢出,以下代码是实际项目中,通过Queue<T>来避免递归算法的代码: /// <summary ...
- FormatSQL
核心提示:在一些论坛,常看到有人拼接SQL的时候,喜欢直接硬拼,结果就是出现一大堆加号和单引号,不仅写起来麻烦(你得小心该连续写多少个单引号),SQL的可读性也相当差....稍微好一点的方法是,使用Q ...
- C#如何在List里求某一列的數值的和SUM
var X=Xlist.Sum(key => key.XXX);