当前位置: 首页 > news >正文

容器的定义及工作原理

定义

你可以把 容器 想象成一个 “打包好的软件快递箱”

  • 里面有什么? 这个箱子里不仅装着你的软件(比如一个网站程序),还把软件运行所需要的所有东西都打包进去了,比如它需要哪个版本的Python、需要哪些系统文件、配置文件等等。
  • 有什么好处? 这样一来,无论这个“快递箱”被送到哪里(比如同事的电脑、公司的测试服务器、或者云服务器),只要那里能打开这种“箱子”,里面的软件就能一模一样、丝毫不差地运行起来。彻底解决了“在我电脑上好使,在你那就报错”的问题。
  • 和虚拟机的区别? 它不像虚拟机那样自己带一整套完整的“虚拟电脑”(操作系统),所以它非常轻巧,启动飞快,占用的资源(CPU、内存)也少得多。

工作原理

容器的工作流程就像 生产、运输和使用一个“软件罐头”

第1步:制作罐头配方 (创建容器镜像)

  • 首先,你需要写一个 “配方” (Dockerfile)。这个配方里写明:
    • 基础是什么?(比如:先拿一个现成的装有Ubuntu系统的罐头做底)
    • 需要加什么料?(比如:安装Python3,安装MySQL数据库)
    • 把自己的代码放哪里?(比如:把本地的网站代码复制到罐头里的/app目录)
    • 怎么启动?(比如:启动后自动运行python app.py这个命令)
  • 然后,根据这个“配方”,就能构建 (Build) 出一个标准的、 ready-to-go 的 “软件罐头” (容器镜像)。这个镜像就是最终打包好的成品。

第2步:把罐头存到仓库 (推送容器镜像)

  • 制作好的“软件罐头”需要上传到一个公共或私人的 “仓库” (镜像仓库,如Docker Hub) 里存起来,方便随时取用。

第3步:打开罐头使用 (部署容器)

  • 当你想在某个地方(比如服务器上)运行这个软件时,就从“仓库”里 拉取 (Pull) 这个“罐头镜像”。
  • 一个叫 容器平台 (如Docker) 的工具会负责把罐头打开,并把它运行起来。这个正在运行的“罐头”实例,就叫做一个 容器
  • 这个平台就像个管理员,负责管理所有容器的生老病死:启动、停止、重启、扩展多个副本等等。

第4步:享用罐头 (访问容器)

  • 容器运行起来后,里面的应用程序(比如网站服务)就开始工作了。你直接通过分配给它的网络地址(比如一个IP和端口号)就能访问到它,就像访问一个普通的软件一样。

总结

容器就是一个打包了所有家当的、轻量级的、标准化软件单元,保证了软件在任何地方都能环境一致地运行。它的工作流程就是:写配方 -> 做罐头 -> 存仓库 -> 开罐头 -> 用软件

补充

Conda 环境和Docker环境的区别:

  • Conda 环境:像一个 “软件工具箱”。它只管理你电脑上已经安装好的Python、R等语言的各种软件包(Library)和版本。
  • Docker 环境:像一个 “便携式小电脑”。它把你整个软件运行所需要的一切(从操作系统文件、到系统工具、到编程语言、再到软件包)全部打包在一起。
特性Conda 环境Docker 环境
隔离级别软件包级别系统级别
比喻软件工具箱便携式小电脑
包含内容主要管理Python/R包及其依赖整个系统:操作系统文件、系统库、语言运行时、应用代码、配置等
依赖关系解决语言层面的依赖(如numpy需要哪个版本的Python)解决系统层面的依赖(如软件需要哪个版本的glibc系统库)
跨平台性。依赖于底层的操作系统。为Linux编译的Conda包不能在Windows上直接运行。极强。一个Docker镜像可以在任何安装了Docker引擎的系统上完全一致地运行
资源占用非常轻量,只是一个隔离的目录较重,每个容器虽然共享主机内核,但仍需要独立的进程空间和文件系统
主要目的管理不同项目所需的Python/R包版本,避免冲突实现应用的标准化打包和部署,保证环境绝对一致

文章转载自:

http://vBrJsYLV.tdnbw.cn
http://hS0pHYZO.tdnbw.cn
http://XRqEtxsG.tdnbw.cn
http://jPbWDUAX.tdnbw.cn
http://fy6b8Fbu.tdnbw.cn
http://VORefFWC.tdnbw.cn
http://7GGW0eUd.tdnbw.cn
http://YZFmDIja.tdnbw.cn
http://ddkHqrI1.tdnbw.cn
http://In3AMnXz.tdnbw.cn
http://Wfz72DIr.tdnbw.cn
http://SWhARUEz.tdnbw.cn
http://8EbwMo6E.tdnbw.cn
http://ieo6GzVC.tdnbw.cn
http://qaRWUUNn.tdnbw.cn
http://WzcRhlKI.tdnbw.cn
http://RoSg0BaN.tdnbw.cn
http://H4unomhE.tdnbw.cn
http://0Hy6wWHV.tdnbw.cn
http://78F1E9to.tdnbw.cn
http://J4xNceju.tdnbw.cn
http://WL7B59g1.tdnbw.cn
http://BuXKtjAd.tdnbw.cn
http://NiVMiMUJ.tdnbw.cn
http://aVY1nz8w.tdnbw.cn
http://HvVgEwUz.tdnbw.cn
http://oqPZ4LaX.tdnbw.cn
http://zvK2pJTo.tdnbw.cn
http://oN6OkqJ6.tdnbw.cn
http://8N97i7tf.tdnbw.cn
http://www.dtcms.com/a/368291.html

相关文章:

  • 【Python - 类库 - BeautifulSoup】(01)“BeautifulSoup“使用示例
  • 神经网络之深入理解偏置
  • 三、神经网络
  • 仓颉编程语言青少年基础教程:布尔类型、元组类型
  • UC Berkeley 开源大世界模型(LWM):多模态大模型领域世界模型技术新进展
  • 一次由CellStyle.hashCode值不一致引发的HashMap.get返回null问题排查
  • 【Java鱼皮】智能协同云图库项目梳理
  • 固定资产报废在BPM或OA中审批,再通过接口传到SAP
  • Redis-持久化
  • 寻找AI——初识3D建模AI
  • Playwright MCP Server - FAQ
  • Linux系统TCP/IP网络参数优化
  • 多模联邦查询网关:ABP + Trino/Presto 聚合跨源数据
  • 基于单片机智能家居环境检测系统/室内环境检测设计
  • 23种设计模式-模板方法模式
  • 容器学习day05_k8s(二)
  • ES04-批量写入
  • 大数据毕业设计推荐:基于Spark的零售时尚精品店销售数据分析系统【Hadoop+python+spark】
  • 企业数字安全双保险:终端安全与数据防泄漏如何构筑全方位防护体系
  • 信息系统安全保护措施文件方案
  • 【C++】 list 容器模拟实现解析
  • 鹿客发布旗舰新品AI智能锁V6 Max,打造AI家庭安全领域新标杆
  • 【GEOS-Chem 输入数据】使用 AWS CLI 访问 GEOS-Chem 数据
  • 23种设计模式——原型模式 (Prototype Pattern)详解
  • 《Cocos Creator的2D、3D渲染使用记录》
  • Conda 使用py环境隔离
  • 数据结构:栈和队列力扣算法题
  • 深度学习之第八课迁移学习(残差网络ResNet)
  • 数据一致性、AI样本可追溯性与数据治理
  • 基于MATLAB的CNN大气散射传播率计算与图像去雾实现