前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >容器化的好处

容器化的好处

原创
作者头像
仁扬
发布2023-08-03 00:02:11
1740
发布2023-08-03 00:02:11
举报
文章被收录于专栏:仁扬笔记

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

我在之前的文章 [《使用 Dockerfile 构建生产环境镜像》](https://imlht.com/archives/236/) 提及普通的虚拟机部署存在的问题:

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

>

> * 传统虚拟机部署,基本依赖克隆或者手工编译。由于人力原因,SRE 历来单传,编译出来的 PHP、扩展等二进制版本不一致;

> * 项目开发人员痛苦不堪——他没办法模拟出接近于线上一致的环境(碰不到摸不着,各种扩展版本都要自己去编译);

> * 新人入职都会灵魂拷问你一句——我怎么把线上的代码跑起来?

> * ……

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

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

#### 一、环境的高度一致性

- 容器需要制作镜像文件,描述环境的构建过程,也就意味着它可以保证环境的高度一致

- 无论本地环境或者生产环境,由于 Dockerfile 的存在,不同的操作系统也可以兼容

- 高度一致性带来了环境的统一,统一的环境有利于 CI/CD 流程,结合自动化技术提升效率

#### 二、资源隔离

- 以往虚拟机容易因为混合部署,而某些应用耗费内存过大,导致程序 OOM 崩溃,而容器由于资源隔离,不会互相影响

- 合理分配每个容器的资源,有利于提高资源利用率,降低资源成本

- 通过 Linux Cgroups 技术(Linux Control Group)限制资源上限;通过 Linux NameSpace 机制修改进程看到的外部资源的 “视图”

#### 三、轻量级

- 相比虚拟机,容器启动速度在秒级别

- 容器为进程,通过 Linux NameSpace 机制和 unionFS,使得进程本身看起来好像拥有一个隔离的环境和文件系统(实际上还是宿主机的一个进程)

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

---

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档