什么是容器化?容器化如何工作?

  • 什么是容器化?
  • 容器化有哪些优势?
  • 容器化有哪些使用案例?
  • 容器化如何工作?
  • 参考

什么是容器化?

容器化是一种软件部署流程。在传统场景中,要在计算机上运行任何应用程序,必须安装与计算机操作系统匹配的应用程序版本。例如,我们需要在 Windows 计算机上安装 Windows 版本的软件包而不是安装Linux版本。但是,借助容器化,我们可以创建能够在所有类型的设备和操作系统上运行的单个软件包或容器。


容器化有哪些优势?

由于以下优势,开发人员使用容器化来构建和部署现代应用程序

  • 便携性。开发人员只需要构建一个应用程序,然后通过容器化将其部署到多个操作系统上。而无需根据不同环境重新编写程序代码
  • 可扩展性。容器是轻量级软件组件。开发人员可以轻松在单个计算机上为不同的应用程序添加多个容器。容器集群之间共享操作系统以及操作系统提供的计算资源。同时,一个容器不会干扰其他容器的运行
  • 容错能力。使用多个容器在云上运行微服务时,由于容器化微服务在独立的用户空间中运行,因此单个故障容器不会影响其他容器
  • 敏捷性。容器化应用程序在独立的计算环境中运行。软件开发人员可以进行故障排除并更改应用程序代码,而不会干扰操作系统、硬件或其他应用程序服务。他们可以缩短软件发布周期,并使用容器模型快速进行更新

容器化有哪些使用案例?

  • 云迁移
    云迁移或直接迁移方法是一种软件策略,涉及将传统应用程序封装在容器中,并将这些应用程序部署到云计算环境中。组织可以实现应用程序现代化,而无重新编写全部软件代码。
  • 采用微服务架构
    致力于使用微服务构建云应用程序的组织需要容器化技术。微服务架构是一种软件开发方法,使用多个相互依赖的软件组件来交付功能性应用程序。每种微服务都有一个唯一且具有针对性的功能。现代云应用程序由多种微服务组成。例如,视频流应用程序可能包含用于数据处理、用户跟踪、计费和个性化的微服务。容器化提供软件工具,可将微服务打包为不同平台上的可部署程序
  • IoT 设备
    物联网 (IoT) 设备包含有限的计算资源,使手动软件更新成为一个复杂的流程。容器化使开发人员能够轻松跨 IoT 设备部署和更新应用程序。

容器化如何工作?

容器化涉及构建自给自足的软件包,无论这些软件包在哪些机器上运行,性能都始终如一。软件开发人员创建和部署容器映像,即包含运行容器化应用程序所需信息的文件。开发人员使用容器化工具根据开放容器计划 (OCI) 映像规范构建容器映像。OCI 是一个开源组,提供用于创建容器映像的标准化格式。容器映像为只读,计算机系统无法更改。

容器映像是容器化系统的顶层,容器化系统由以下层组成。

  • 基础设施
    基础设施是容器模型的硬件层。其指运行容器化应用程序的物理计算机或裸机服务器。
  • 操作系统
    容器化架构的第二层为操作系统。Linux 是一种使用本地计算机进行容器化的热门操作系统。在云计算中,开发人员使用 AWS EC2 等云服务运行容器化应用程序。
  • 容器引擎
    容器引擎或容器运行时是一种基于容器映像创建容器的软件程序。其作为容器和操作系统之间的中间代理,提供和管理应用程序所需的资源。例如,容器引擎可以通过使同一操作系统上的多个容器独立于底层基础设施且彼此独立,从而进行管理。
  • 应用程序和依赖关系
    容器化架构的最顶层是应用程序代码和需要运行的其他文件,如库依赖项和相关配置文件。该层还可能包含通过主机操作系统安装的轻型客户机操作系统。

参考


https://aws.amazon.com/cn/what-is/containerization/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/229844.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab实现单精度、16进制之间的转换函数

matlab 单精度转16进制:num2hex(single(1.0)) matlab16进制转单精度浮点型:typecast(uint32(hex2dec(‘3f000000’)),‘single’) 相关使用连接: https://blog.csdn.net/jxls378816/article/details/109071569 https://blog.csdn.net/sangba…

Spring Boot i18n中文文档

本文为官方文档直译版本。原文链接 Spring Boot 支持本地化消息,因此您的应用程序可以满足不同语言偏好的用户。默认情况下,Spring Boot 会在类路径的根目录下查找是否存在消息资源包。 自动配置适用于已配置资源包的默认属性文件(默认为 mes…

Docker实战案例研究:深入行业应用与最佳实践

Docker作为一种轻量级、可移植、可扩展的容器化技术,在各行各业都得到了广泛应用。本文将通过深入实际案例,介绍Docker在不同行业的应用以及相应的最佳实践,提供更加丰富的示例代码,以帮助大家更全面地理解和运用Docker的强大功能…

C 库函数 - time()

描述 C 库函数 time_t time(time_t *seconds) 返回自纪元 Epoch(1970-01-01 00:00:00 UTC)起经过的时间,以秒为单位。如果 seconds 不为空,则返回值也存储在变量 seconds 中。 声明 下面是 time() 函数的声明。 time_t time(t…

【已解决】Atlas 导入 Hive 元数据,执行 import-hive.sh 报错

部署完 Atlas 之后,尝试导入 Hive 元数据,遇到了一些错误,特此记录一下,方便你我他。 执行 import-hive.sh 报错 [omchadoop102 apache-atlas-2.2.0]$ hook-bin/import-hive.sh Using Hive configuration directory [/opt/module…

怎样长时间保持SSH会话连接不断开?

操作场景 使用SSH方式登录CentOS Stream操作系统的云服务器时,过一段时间就会自动断开连接。 该文档适用于CentOS/EulerOS系统。 操作方法 编辑/etc/ssh/sshd_config文件设置心跳,保持连接。 编辑/etc/ssh/sshd_config,添加配置项&#x…

数据分析为何要学统计学(10)——如何进行比率检验

比率检验是通过样本推测某种事件的总体占比水平。要求事件仅有互斥的两种情况,即,概率分别为p与1-p。 比率检验分单样本和双样本两种情况,以下我们分别介绍。 1. 单样本比率检验 形如这样的问题:“小学生近视比例日益提高&#…

FDE Example------Si Waveguide

FDE Example------Si Waveguide 示例仿真步骤设置结构计算参数示例 对于 FDE Solver,这里我们给一个示例。 考虑一个 500 nm x 220 nm 在玻璃上的 Si 波导。分析 1500 nm - 1600 nm 范围的波长。查看结果:基础 TE 模式的 模场分布, n e f f n_{eff}

【BIG_FG_CSDN】*VMware17pro*Linux*Redhit6网络管理(个人向——学习笔记)

物理机中的网络 查看物理网络的方法 “网络连接”—>单点选中网络的选项-->菜单栏中“查看此连接状态”-->“详细信息” “网络连接”中的VM网卡 在主机上对应的有VMware Network Adapter VMnet1和VMware Network Adapter VMnet8两块虚拟网卡,它们分别…

3D三维数据格式分类(种类/软件平台)

一、按照数据种类格式 3D模型格式: .obj - 一种通用的3D模型格式.dae - Collada (数字资产交换).gltf, .glb - GL Transmission Format (用于3D场景和模型).max - Autodesk 3ds Max (3D动画、模型制作、渲染).fbx - Autodesk Filmbox格式 (3D动画和游戏开发).ma, .mb - Maya …

【MySQL】MySQL表的操作-创建查看删除和修改

文章目录 1.创建表2.查看表结构3.修改表4.删除表 1.创建表 语法: CREATE TABLE table_name (field1 datatype,field2 datatype,field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎;说明: field 表示列名datatype 表示列的类型…

前端之HTML

一.网页及HTML 1.1网页 1.网页是构成网站的基本元素,通常是由图片、链接、文字、声音、视频等元素组成。通常我们看到的网页以.htm或.html后缀结尾的文件,俗称为HTML文件。 2.网站是网页的集合,网页通常是通过浏览器来阅读的HTML格式的文件…

TG-5510cb: txo高稳定性+105℃高温

TG-5510CB是一款高稳定性TCXO,可提供CMOS或限幅正弦输出,5G基站和边缘计算的额定温度为85C,需要室外安装、小型化和无风扇运行。与其他TCXO相比,实验室提供了许多改进,如低温度斜率和相位噪声。符合GR-1244-CORE地层3和…

深度学习记录--参数与超参数

什么是超参数 在深度学习的神经网络图中,有一堆参数,这些参数分成了普通参数和特殊参数,其中特殊参数往往被称为超参数 超参数(hyper parameters),在某种程度上决定了普通的参数,并且是需要额外给出的 如下图 参数设定 对于超…

MyBatis是如何进⾏分⻚的?分⻚插件的原理是什么?

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞…

web服务器之——搭建基于https协议的静态网站

目录 一、HTTPS协议介绍 HTTPS的安全通信机制: 工作流程可大致分为三个阶段: 二、搭建基于https协议的静态网站 第一步:关闭防火墙和SELinux 第二步:安装httpd 准备工作:web服务器搭建 1、挂载 2、编辑配置文…

【机器学习】数据降维

非负矩阵分解(NMF) sklearn.decomposition.NMF找出两个非负矩阵,即包含所有非负元素(W,H)的矩阵,其乘积近似于非负矩阵x。这种因式分解可用于例如降维、源分离或主题提取。 主成分分析(PCA) sklearn.decomposition.PCA使用数据的奇异值分解…

PLC-Recorder V3 修改服务器和客户端通讯端口的方法

PLC-Recorder V3是服务器和客户端的架构,他们之间用TCP通讯。如果客户端无法与服务器建立连接(重启也无效,并且确保没有老版本的PLC-Recorder在运行),则可能是端口被占用了。这时候需要修改他们之间的通讯端口&#xf…

Vue 父子组件通信进阶版:深入理解 Props、$emit 和 provide/inject

文章目录 🍑引言🍑Props 进阶用法🍇动态 Props🍇验证复杂对象 🍑$emit 进阶用法🍇传递事件参数🍇使用修饰符 🍑provide/inject 进阶用法🍇动态 provide🍇通过…

gitlab 通过svn hook 触发

jenkins 起一个item 配置: 我选的自由风格的 源码管理配置 先选subversion 就是svn类型 url 设置project 的路径, 注意是工程,不是svn 顶层 添加一个账户来进行pull 等操作 选择添加的账号 构建触发器: ,重要的是要自…