- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Docker部署学习(一),docker初认识,入门教程--第1页
Docker部署学习(⼀),docker初认识,⼊门教程
2013年发布⾄今, Docker ⼀直⼴受瞩⽬,被认为可能会改变软件⾏业。
但是,许多⼈并不清楚 Docker 到底是什么,要解决什么问题,好处⼜在哪⾥?本⽂就来详细解释,帮助⼤家理解它,还带有简单易懂的实
例,教你如何将它⽤于⽇常开发。
⼀、环境配置的难题
软件开发最⼤的⿇烦事之⼀,就是环境配置。⽤户计算机的环境都不相同,你怎么知道⾃家的软件,能在那些机器跑起来?
⽤户必须保证两件事:操作系统的设置,各种库和组件的安装。只有它们都正确,软件才能运⾏。举例来说,安装⼀个 Python 应⽤,计算
机必须有 Python 引擎,还必须有各种依赖,可能还要配置环境变量。
如果某些⽼旧的模块与当前环境不兼容,那就⿇烦了。开发者常常会说:”它在我的机器可以跑了”(It works on my machine),⾔下
之意就是,其他机器很可能跑不了。
环境配置如此⿇烦,换⼀台机器,就要重来⼀次,旷⽇费时。很多⼈想到,能不能从根本上解决问题,软件可以带环境安装?也就是说,安
装的时候,把原始环境⼀模⼀样地复制过来
⼆、虚拟机
虚拟机(virtual machine)就是带环境安装的⼀种解决⽅案。它可以在⼀种操作系统⾥⾯运⾏另⼀种操作系统,⽐如在 Windows 系统⾥
⾯运⾏ Linux 系统。应⽤程序对此毫⽆感知,因为虚拟机看上去跟真实系统⼀模⼀样,⽽对于底层系统来说,虚拟机就是⼀个普通⽂件,
不需要了就删掉,对其他部分毫⽆影响。
虽然⽤户可以通过虚拟机还原软件的原始环境。但是,这个⽅案有⼏个缺点。
(1)资源占⽤多
虚拟机会独占⼀部分内存和硬盘空间。它运⾏的时候,其他程序就不能使⽤这些资源了。哪怕虚拟机⾥⾯的应⽤程序,真正使⽤的内存只有
1MB,虚拟机依然需要⼏百 MB 的内存才能运⾏。
(2)冗余步骤多
虚拟机是完整的操作系统,⼀些系统级别的操作步骤,往往⽆法跳过,⽐如⽤户登录。
(3)启动慢
启动操作系统需要多久,启动虚拟机就需要多久。可能要等⼏分钟,应⽤程序才能真正运⾏。
三、Linux 容器
Docker部署学习(一),docker初认识,入门教程--第1页
Docker部署学习(一),docker初认识,入门教程--第2页
由于虚拟机存在这些缺点,Linux 发展出了另⼀种虚拟化技术:Linux 容器(Linux Containers,缩写为 LXC)。
Linux 容器不是模拟⼀个完整的操作系统,⽽是对进程进⾏隔离。或者说,在正常进程的外⾯套了⼀个保护层。对于容器⾥⾯的进程来说,
它接触到的各种资源都是虚拟的,从⽽实现与底层系统的隔离。
由于容器是进程级别的,相⽐虚拟机有很多优势。
(1)启动快
容器⾥⾯的应⽤,直接就是底层系统的⼀个进程,⽽不是虚拟机内部的进程。所以,启动容器相当于启动本机的⼀个进程,⽽不是启动⼀个
操作系统,速度就快很多。
(2)资源占⽤少
容器只占⽤需要的资源,不占⽤那些没有⽤到的资源;虚拟机由于是完整的操作系统,不可避免要占⽤所有资源。另外,多个容器可以共享
资源,虚拟机都是独享资源。
(3)体积⼩
容器只要包含⽤到的组件即可,⽽虚拟机是整个操作系统的打包,所以容器⽂件⽐虚拟机⽂件要⼩很多。
总之,容器有点像轻量级的虚拟机,能够提供虚拟化的环境,但是成本开销⼩得多。
四、Docker是什么?
Docker 属于 Linux 容器的⼀种封装,提供简单易⽤的容器使⽤接⼝。它是⽬前最流⾏的 Linux 容器解决⽅案。
Docker 将应⽤程序与该程序的依赖,打包在⼀个⽂件⾥⾯。运⾏这个⽂件,就会⽣成⼀个虚拟容器。程序在这个虚拟容器⾥运⾏,就好像
在真实的物理机上运⾏⼀样。有了 Docker,就不⽤担⼼环境问题。
总体来说,Docker 的接⼝相当简单,⽤户可以⽅便地创建和使⽤容器,把⾃⼰的应⽤放⼊容器。容器还可以进⾏版本管理、复制、分享、
修改,就像管理普通的代码⼀样。
五、Docker的⽤途
Docker 的主要⽤途,⽬前有三⼤类。
(1)提供⼀次性的环境。⽐如,本地测试他⼈的软件、持续集成的时候提供单元测试和构建的环境。
(2)提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容。
(3)组建微服务架构。通过多个容器,⼀台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。
六、Docker的安装
Docker 是⼀个开源的商业产品,有两个版本:社区版(Community Edition
文档评论(0)