首页 > 运维 > linux运维 > 正文

Docker与容器

蓮花仙者
发布: 2025-07-19 11:02:20
原创
415人浏览过

docker 简介

  1. Docker 主要解决什么问题

Docker 的核心目标是实现快速的构建(Build)、分发(Ship)和运行(Run)。它通过将应用程序及其运行环境打包在一起,解决了部署环境依赖的问题,实现了跨平台的分发和使用。这与DevOps理念高度契合,通过使用Docker,可以显著提高开发、测试和运维的效率。在移动互联网时代,任何能够节省人力和提升效率的工具都极具吸引力。

  1. Docker 的历史

早在DotCloud公司时期,Docker就已经开始酝酿。DotCloud是一家法国公司,最初提供PaaS服务,支持多种语言的运行环境,如Java、Python、Ruby、Node.js等。然而,在PaaS领域面临众多巨头的竞争,DotCloud决定将他们的项目Docker开源。2013年3月,Docker以开源软件的形式发布,迅速在容器领域掀起了一股热潮。截至2015年11月,Docker在GitHub上获得了25600个赞,超过6800次克隆,并有超过1100名贡献者,成为GitHub上最具影响力的开源项目之一。Docker的开源不仅吸引了Docker公司、Red Hat、IBM、Google、Cisco、亚马逊等国际巨头,还包括国内的华为等公司都为其贡献代码。在美国,几乎所有云计算厂商都积极参与Docker生态圈。

  1. Docker 是什么

Docker是容器化技术的一种实现。虽然容器化技术并非新兴,但Docker的火爆得益于云计算的快速发展。云计算是移动互联网、IT及未来消费者行业的基础。在云计算的三层架构中,IaaS层以虚拟机为基础,而虚拟机依赖于Hyper-V架构,每个虚拟机运行一个完整的操作系统,占用至少5GB的磁盘空间。然而,操作系统对用户来说是无用的,用户更关心的是虚拟主机提供的服务。因此,轻量级的主机需求迫在眉睫,Docker容器应运而生。容器由于省去了操作系统,结构更加简化,可以在单台服务器上运行更多的应用,这正是IaaS所需的。

Docker与容器

容器和镜像是Docker的核心部分,使用Docker时,实际上是在容器中运行一个镜像。

  1. 什么是容器

许多用户初次接触Docker时,会将容器视为一种轻量级的虚拟机,但实际上二者有很大区别。容器本质上是操作系统上运行的一个进程,只是加入了资源隔离和限制。在操作系统课程中,进程是一个运行中的程序。传统进程运行时,如果出现死循环或内存泄露,可能会耗尽CPU或内存,因为进程默认共享CPU和内存。这种不隔离的处理方式在企业级环境中是致命的,可能导致整个系统不可用。因此,早在2006年就出现了进程间的资源隔离技术,Linux也实现了类似的功能。最初,Linux的容器技术基于LXC,Docker在易用性和稳定性上进行了改进,其核心功能包括CGroups、Namespace和UnionFS。CGroups用于限制进程的资源使用;Namespace用于在操作系统上划分不同的命名空间,实现资源隔离;UnionFS用于处理分层镜像。

Calliper 文档对比神器
Calliper 文档对比神器

文档内容对比神器

Calliper 文档对比神器 28
查看详情 Calliper 文档对比神器

说明:LXC是Docker早期使用的技术,后来Docker开发了libcontainer,二者都是对Linux内核功能的封装。在安装了Docker的机器上,可以通过run命令启动容器,并通过ps命令查看已存在的容器。

  1. 什么是镜像

容器是一个动态的概念,而镜像是一个相对静态的概念。镜像可以理解为容器中的文件系统。早在1980年就出现了文件系统管理技术,如chroot系统调用,可以改变进程的工作目录并将其限定在该目录内,但其隔离功能有限且存在安全隐患。因此,Docker采用了Layered FS,将文件系统分成多个层,使多个容器可以共享公共部分。镜像是由Layered FS组成的,并且是只读的。在容器运行时,会在镜像之上添加一层可读写层。

说明:镜像不仅包含文件系统,还集成了容器运行的部分参数,可以将其视为容器的模板。

  1. 容器和镜像的关系

容器和镜像是紧密相关的,二者缺一不可,并且可以相互转换。Docker的镜像最初是从官方仓库拉取的,然后通过docker run命令启动容器。当需要将容器转化为镜像时,可以通过docker commit命令进行转换。

以上就是Docker与容器的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号