哈尔滨公司网站建设多少钱网站开发项目需求方案
- 作者: 五速梦信息网
- 时间: 2026年04月20日 11:01
当前位置: 首页 > news >正文
哈尔滨公司网站建设多少钱,网站开发项目需求方案,孝感应城网站建设,爱辉网站建设Docker 详解#xff08;一#xff09;#xff1a;从虚拟机到容器 1.虚拟化
要解释清楚 Docker#xff0c;首先要解释清楚 容器#xff08;Container#xff09;的概念。要解释容器的话#xff0c;就需要从操作系统说起。操作系统太底层#xff0c;细说的话一两本书都说… Docker 详解一从虚拟机到容器
1.虚拟化
要解释清楚 Docker首先要解释清楚 容器Container的概念。要解释容器的话就需要从操作系统说起。操作系统太底层细说的话一两本书都说不清楚。这里就一句话来总结一下操作系统Operating System简称 OS是管理计算机硬件与软件资源的计算机程序并且为软件运行提供通用服务的系统软件。
随着硬件的性能提升软件种类的丰富有两种情况变得很常见
硬件性能过剩很多计算机的硬件配置往往会有大量时间处于硬件资源闲置的状态。例如一般家用电脑已经是四核、六核的配置了除了 3 A 3A 3A 游戏、视频制作、 3 D 3D 3D 渲染、高性能计算等特殊应用外通常有 90 % 90\% 90% 以上时间 CPU 是闲置的。软件冲突因为业务需要两个或者多个软件之间冲突或者需要同一个软件的不同版本。例如早几年做 Web 前端的要测试网页在不同版本的 IE 上是否能正常显示然而 Windows 只能装一个版本的 IE。
为了解决软件冲突只能配置多台计算机或者很麻烦的在同一台电脑上安装多个操作系统。显然这两个方案都有其缺点多台计算机成本太高多操作系统的安装、切换都很麻烦。在硬件性能过剩的时候硬件虚拟化 的普及就很自然而然的提出来了。
所谓硬件虚拟化就是某个特殊的软件仿真出一台或者多台计算机的各种硬件用户可以在这一台虚拟机上安装、运行操作系统一般叫来宾操作系统Guest OS和各种应用并且把 Guest OS 和上面应用软件对硬件资源的访问转发到底层的硬件上来实现。
对于 Guest OS 和上面的应用程序来说这台虚拟机和普通物理计算机是完全一样没有任何区别的——除了性能可能差一点。全球第一人气的 VMware Workstation 就是这么一个软件Oracle 的 VirtualBox 以及 Microsoft 的 Virtual PC 都是。这类软件英语有一个专用的单词是 Hypervisor虚拟机管理程序。 虚拟化技术主要用来解决高性能的物理硬件产能过剩和老旧的硬件硬件产品产能过低的重组重用透明化底层物理硬件从而最大化的利用物理硬件。
虚拟机的优点
可以把资源分配到不同的虚拟机达到硬件资源的最大化利用。相比直接在物理机上部署应用虚拟机更容易扩展应用。通过虚拟机虚拟出不同的物理资源可以快速搭建云服务。
虚拟机的缺点
虚拟机的缺点在于 Guest OS 通常会占用不少硬件资源。例如 Windows 安装 VMware 并开机 Guest OS不运行任何应用的情况下就需要占用 2 2 2 ~ 3 G 3G 3G 内存 20 20 20 ~ 30 G 30G 30G 硬盘空间。而且为了应用系统运行的性能往往还要给每台虚拟机留出更多的内存容量。虽然不少 Hypervisor 支持动态内存但基本上都会降低虚拟机的性能。在这样的资源占用情况下少量的虚拟机还是可以接受的如果同时运行十多台或数十台虚拟机硬件资源的浪费就会成倍递增。通常来说其中相当大一部分甚至全部 Guest OS 都是相同的。
能不能所有应用使用同一个操作系统减少硬件资源的浪费但是又能避免包括运行库在内的软件冲突呢操作系统层虚拟化 —— 容器 概念的提出就是为了解决这个问题。Docker 就是一个容器的标准化实现。
2.容器化
容器技术已经发展了很长一段时间了例如LXCBSD JailsSolaris Zones…
时间名称2014Rocket2013Docker2011LMCTFY2008Cloud Foundry2007AIX, Control groups2006Process Containers2004Open Solaris Zones2001Linux Vserver2000FreeBSD Jails1979Unix V7 容器化就是 应用程序级别的虚拟化技术。容器提供了将应用程序的代码、运行时、系统工具、系统库和配置打包到一个实例中的标准方法。容器共享一个内核操作系统它安装在硬件上。 和虚拟机相比容器有以下优点
启动迅速没有虚拟机硬件的初始化没有 Guest OS 的启动过程可以节约很多启动时间这就是容器的 “开箱即用”。占用资源少没有运行 Guest OS 所需的内存开销无需为虚拟机预留运行内存无需安装、运行 App 不需要的运行库/操作系统服务内存占用、存储空间占用都小的多。相同配置的服务器如果运行虚拟机能运行十多台的通常可以运行上百个容器毫无压力——当然前提是单个容器应用本身不会消耗太多资源。
3.Docker 的起源 2010 2010 2010 年几个搞 IT 的年轻人在美国旧金山成立了一家名叫 dotCloud 的公司。dotCloud 是平台即服务Platform-as-a-ServicePaaS提供商。底层技术上dotCloud 平台利用了 Linux 的 LXC 容器技术。 为了方便创建和管理这些容器dotCloud 基于 Google 公司推出的 Go 语言开发了一套内部工具之后被命名为 Docker。Docker 就是这样诞生的。 LXC 是 Docker 的底层基石但是在 Docker 0.9 0.9 0.9 版本的时候Docker 见异思迁了引入了基于 Go 语言构建的 Libcontainer 的 execution driver。有了 Libcontainer 这个项目Docker 不再需要依赖于 Linux 部件LXClibvirtsystemd-nspawn…就可以处理 namespaces、control groups、capabilities、apparmor profiles、network interfaces。这下LXC 沦为可选项。 在 Docker 1.8 1.8 1.8 中 LXC 被 deprecated在 Docker 1.10 1.10 1.10LXC 彻底出局。Docker 推出 Libcontainer 自己集成了 Linux 内核中的很多特性作为一个独特、稳定且不受制于 Linux 的 Library独立的时代终于到来了。 如同 Docker 的 Logo 一样Docker 的思想来源于 集装箱。集装箱解决了什么问题在一艘大船上可以把货物规整的摆放起来并且各种各样的货物被集装箱标准化集装箱与集装箱之间互不影响。那么就不需要专门运送水果的船和专门运送化学用品的船了。只要这些货物封装在不同的集装箱里就可以用一艘大船把它们都运走。
Docker 技术诞生之后并没有引起行业的关注。而 dotCloud 公司作为一家小型创业企业在激烈的竞争之下也步履维艰。
正当他们快要坚持不下去的时候脑子里蹦出了 “开源” 的想法。什么是 “开源”开源就是开放源代码。也就是将原来内部保密的程序源代码开放给所有人然后让大家一起参与进来贡献代码和意见。
有的软件一开始就是开源的。也有的软件是混不下去创造者又不想放弃所以选择开源。自己养不活就吃 “百家饭” 嘛。 2013 2013 2013 年 3 3 3 月dotCloud 公司的创始人之一Docker 之父 28 28 28 岁的 Solomon Hykes 正式决定将 Docker 项目开源。 不开则已一开惊人。越来越多的 IT 工程师发现了 Docker 的优点然后蜂拥而至加入 Docker 开源社区。Docker 的人气迅速攀升速度之快令人瞠目结舌。
开源当月 Docker 0.1 0.1 0.1 版本发布。此后的每一个月 Docker 都会发布一个版本。到 2014 2014 2014 年 6 6 6 月 9 9 9 日 Docker 1.0 1.0 1.0 版本正式发布。
此时的 Docker已经成为行业里人气最火爆的开源技术没有之一。甚至像 Google、微软、Amazon、VMware 这样的巨头们都对它青睐有加表示将全力支持。
Docker 火了之后 dotCloud 公司干脆把公司名字也改成了 Docker Inc. 。
4.为什么选择 Docker
1更高效的利用系统资源
由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销Docker 对系统资源的利用率更高。无论是应用执行速度、内存损耗或者文件存储速度都要比传统虚拟机技术更高效。因此相比虚拟机技术一个相同配置的主机往往可以运行更多数量的应用。
2更快速的启动时间
传统的虚拟机技术启动应用服务往往需要数分钟而 Docker 容器应用由于直接运行于宿主内核无需启动完整的操作系统因此可以做到秒级、甚至毫秒级的启动时间。大大的节约了开发、测试、部署的时间。
3一致的运行环境
开发过程中一个常见的问题是环境一致性问题。由于开发环境、测试环境、生产环境不一致导致有些 Bug 并未在开发过程中被发现。而 Docker 的镜像提供了除内核外完整的运行时环境确保了应用运行环境一致性从而不会再出现「这段代码在我机器上没问题啊」 这类问题。
4持续交付和部署
对开发和运维DevOps人员来说最希望的就是一次创建或配置可以在任意地方正常运行。
使用 Docker 可以通过定制应用镜像来实现持续集成、持续交付、持续部署。开发人员可以通过 Dockerfile 来进行镜像构建并结合持续集成Continuous Integration系统进行集成测试而运维人员则可以直接在生产环境中快速部署该镜像甚至结合持续部署Continuous Delivery / Deployment系统进行自动部署。
而且使用 Dockerfile 使镜像构建透明化不仅仅开发团队可以理解应用运行环境也方便运维团队理解应用运行所需条件帮助更好的在生产环境中部署该镜像。
5更轻松的迁移
由于 Docker 确保了执行环境的一致性使得应用的迁移更加容易。Docker 可以在很多平台上运行无论是物理机、虚拟机、公有云、私有云甚至是笔记本其运行结果是一致的。因此用户可以很轻易的将在一个平台上运行的应用迁移到另一个平台上而不用担心运行环境的变化导致应用无法正常运行的情况。
6更轻松的维护和扩展
Docker 使用的分层存储以及镜像的技术使得应用重复部分的复用更为容易也使得应用的维护更新更加简单基于基础镜像进一步扩展镜像也变得非常简单。此外Docker 团队同各个开源项目团队一起维护了一大批高质量的 官方镜像既可以直接在生产环境使用又可以作为基础进一步定制大大的降低了应用服务的镜像制作成本。
5.容器与虚拟机的比较
下面的图片比较了 Docker 和传统虚拟化方式的不同之处可见容器是在操作系统层面上实现虚拟化直接复用本地主机的操作系统而传统方式则是在硬件层面实现。 与传统的虚拟机相比Docker 优势体现为启动速度快、占用体积小。 至此 Docker 概念性相关内容就介绍到这里下文我们聊聊 Docker 架构及其工作原理。 参考Docker 的前世今生
- 上一篇: 哈尔滨公司建站模板企业邮箱登录
- 下一篇: 哈尔滨公司网站长沙市建设网站
相关文章
-
哈尔滨公司建站模板企业邮箱登录
哈尔滨公司建站模板企业邮箱登录
- 技术栈
- 2026年04月20日
-
哈尔滨道外区建设局官方网站上海 网络推广
哈尔滨道外区建设局官方网站上海 网络推广
- 技术栈
- 2026年04月20日
-
哈尔滨seo网站排名平台企业采用劳务派遣方式用工的
哈尔滨seo网站排名平台企业采用劳务派遣方式用工的
- 技术栈
- 2026年04月20日
-
哈尔滨公司网站长沙市建设网站
哈尔滨公司网站长沙市建设网站
- 技术栈
- 2026年04月20日
-
哈尔滨建设工程招聘信息网站wordpress更改ico
哈尔滨建设工程招聘信息网站wordpress更改ico
- 技术栈
- 2026年04月20日
-
哈尔滨建站模板厂家网页制作公司印章怎么弄
哈尔滨建站模板厂家网页制作公司印章怎么弄
- 技术栈
- 2026年04月20日
