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

容器化的好处

容器化,是指使用容器技术(Docker/containerd等)运行应用程序(容器),并使用容器编排技术(例如 K8s)来管理这些容器。

我在之前的文章 《使用 Dockerfile 构建生产环境镜像》 提及普通的虚拟机部署存在的问题:

为什么有这篇文章,是因为我在真正做容器化改造的时候,发现公司生产环境存在大量的坑:

  • 传统虚拟机部署,基本依赖克隆或者手工编译。由于人力原因,SRE 历来单传,编译出来的 PHP、扩展等二进制版本不一致;
  • 项目开发人员痛苦不堪——他没办法模拟出接近于线上一致的环境(碰不到摸不着,各种扩展版本都要自己去编译);
  • 新人入职都会灵魂拷问你一句——我怎么把线上的代码跑起来?
  • ……

另外,传统的虚拟机部署,还存在成本浪费——虚拟机无法做到容器的资源隔离和扩缩容,资源利用率不高。

所以我们可以发现,有以下几点好处:

一、环境的高度一致性

  • 容器需要制作镜像文件,描述环境的构建过程,也就意味着它可以保证环境的高度一致
  • 无论本地环境或者生产环境,由于 Dockerfile 的存在,不同的操作系统也可以兼容
  • 高度一致性带来了环境的统一,统一的环境有利于 CI/CD 流程,结合自动化技术提升效率

二、资源隔离

  • 以往虚拟机容易因为混合部署,而某些应用耗费内存过大,导致程序 OOM 崩溃,而容器由于资源隔离,不会互相影响
  • 合理分配每个容器的资源,有利于提高资源利用率,降低资源成本
  • 通过 Linux Cgroups 技术(Linux Control Group)限制资源上限;通过 Linux NameSpace 机制修改进程看到的外部资源的 “视图”

三、轻量级

  • 相比虚拟机,容器启动速度在秒级别
  • 容器为进程,通过 Linux NameSpace 机制和 unionFS,使得进程本身看起来好像拥有一个隔离的环境和文件系统(实际上还是宿主机的一个进程)

容器化是未来的一大趋势!让我们拥抱云原生吧!


文章来源于本人博客,发布于 2022-11-05,原文链接:https://imlht.com/archives/407/

http://www.lryc.cn/news/106897.html

相关文章:

  • TPlink DDNS 内网穿透?外网访问设置方法
  • 以CS32F031为例浅说国产32位MCU的内核处理器
  • 享元模式(Flyweight)
  • Cilium系列-11-启用带宽管理器
  • 无人机自动返航的关键技术有哪些
  • Vision Transformer (ViT):图像分块、图像块嵌入、类别标记、QKV矩阵与自注意力机制的解析
  • Mybatis:一对多映射处理
  • HTML+CSS+JavaScript:全选与反选案例
  • Python 程序设计入门(001)—— 安装 Python(Windows 操作系统)
  • 【redis】创建集群
  • linux 配置nacos遇见的问题及解决办法
  • 小程序开发趋势:探索人工智能在小程序中的应用
  • 基于埋点日志数据的网络流量统计 - PV、UV
  • cuda入门demo(2)——最基础的二方向sobel
  • 软件外包开发的后台开发语言
  • 自动驾驶感知系统-全球卫星定位系统
  • 数据结构 | 基本数据结构——队列
  • QT在label上透明绘图(二)
  • 微信小程序使用editor富文本编辑器 以及回显 全屏弹窗的模式
  • 在CSDN学Golang场景化解决方案(基于gin框架的web开发脚手架)
  • 关于Express 5
  • ftrace 原理详细分析
  • UWB定位技术和蓝牙AOA有哪些不同?-高精度室内定位技术对比
  • 【RabbitMQ】golang客户端教程2——工作队列
  • 芯旺微冲刺IPO,车规级MCU竞争白热化下的“隐忧”凸显
  • HTML <s> 标签
  • 微信小程序 - scroll-view组件之上拉加载下拉刷新(解决上拉加载不触发)
  • rust usize与i64怎么比较大小?
  • 电脑更新win10黑屏解决方法
  • STM32入门——外部中断