文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Docker基础:Docker是什么,为什么这么火?

2024-12-01 18:50

关注

二、Docker 历史

2010 年,几个搞 IT 的年轻人,在美国旧金山成立了一家名叫 dotCloud 的公司。dotCloud 的平台即服务(Platform-as-a-Service, PaaS)提供商。dotCloud 平台底层利用了 Linux 的 LXC 容器技术。       

什么是LXC?LXC 是 Docker 的底层基石,但是在 Docker 0.9 版本的时候,Docker引入了基于 Go 语言构建的 Libcontainer 的 execution driver。有了 Libcontainer 这个项目,Docker 不再需要依赖于 Linux 部件(LXC,libvirt,systemd-nspawn...)就可以处理 namespaces、control groups、capabilities、apparmor profiles、network interfaces。LXC 逐渐沦为可选项。       

 后来为了方便创建和管理这些容器,dotCloud 基于 Google 公司推出的 Go 语言开发了一套内部工具,之后被命名为 Docker。Docker 就是这样诞生的。Docker 1.8 版本 中 LXC 被 弃用,在Docker 1.10版本LXC 彻底离开Docker。Docker 官方推出的Libcontainer 集成了 Linux 内核中的很多特性,成为一个独立、稳定且不受制于 Linux 的 Library。       

2013 年 3 月,dotCloud 公司的创始人之一28 岁的 Solomon Hykes 正式决定,将 Docker 项目开源。开源当月发布了 Docker 0.1 版本。此后的每一个月, Docker 都会发布一个迭代版本。到 2014 年 6 月 9 日, Docker 1.0 版本正式发布了。       

这个时候的 Docker已经成为行业里人气最火的开源技术、。Google、微软、Amazon、 VMware 这样的互联网巨头们都对它青睐有加,表示将全力支持。Docker 火了之后, dotCloud 公司干脆把公司名字也改成了 Docker Inc. 。

三、为什么选择 Docker

3.1 更高效的利用系统资源

由于容器不需要进行硬件虚拟以及运行完整操作系统等额外的开销,Docker 对系统资源的利用率比虚拟机更高。无论是应用执行速度、内存损耗或者文件存储,都要比传统虚拟机技术更高效。

3.2 更快速的启动时间

传统的虚拟机技术启动应用服务往往需要好几分钟, Docker 容器应用,由于直接运行于宿主内核,无需启动完整的操作系统,可以达到秒级、甚至毫秒级的启动时间。大大的节约了项目部署的时间。

3.3 保证一致的项目运行环境

开发过程中一个非常常见的问题是本地环境、测试环境、生产环境不一致。经常能碰到开发、测试环境运行正常而到了生产环境出现莫名其秒的问题。而 Docker 的镜像提供了除内核外完整的项目运行环境,确保了应用运行环境一致性,从而避免了因为开发环境不一致造成的部署问题。

3.4 持续交付和部署

对开发和运维(DevOps)人员来说,最理想的就是一次创建或配置,可以在任意服务器上正常运行。使用 Docker 可以通过定制应用镜像来实现持续集成、持续交付、部署。开发人员可以通过 Dockerfile 来进行镜像构建,并结合持续集成(Continuous Integration)系统进行集成测试,而运维人员则可以直接在生产环境中快速部署该镜像,甚至结合持续部署(Continuous Delivery/Deployment)系统进行自动化部署。而且使用 Dockerfile 使镜像构建透明化,不仅仅开发团队可以理解应用运行环境,也方便运维团队理解应用运行所需条件,帮助更好的在生产环境中部署该镜像。

3.5 更轻松的服务迁移

由于 Docker 确保了运行环境的一致性,使得应用的迁移更加容易。Docker 可以在很多平台上运行,无论是物理机、虚拟机、公有云、私有云,甚至是笔记本,其运行结果是一致的。因此用户可以很轻易地将在一个平台上运行的应用,迁移到另一个平台上,而不用担心运行环境的变化导致应用无法正常运行的情况。

3.6 更轻松的维护和扩展

Docker 使用的分层存储以及镜像的技术,使得应用重复部分的复用更为容易,也使得应用的维护更新更加简单,基于基础镜像进一步扩展镜像也变得非常简单。此外,Docker 团队同各个开源项目团队一起维护了一大批高质量的 官方镜像,既可以直接在生产环境使用,又可以作为基础进一步定制,大大降低了应用服务的镜像制作成本。

四、容器与虚拟机的比较

Docker 和传统虚拟化方式的不同,容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件层面实现。       

与传统的虚拟机相比,Docker 优势体现为启动速度快、占用体积小。

特性​

Docker​

虚拟机​

启动​

秒级​

分钟级​

硬盘使用​

MB​

GB​

性能​

接近原生​

较差​

系统支持量​

单机支持上千个容器​

一般几十个​

个人博客网站:https://programmerblog.xyz。

来源:IT技术分享社区内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯