什么是容器
容器是操作系统内核自带能力,是基于Linux内核实现的轻量级高性能资源隔离机制。Docker是容器技术之一,核心在于实现应用与运行环境整体打包及打包格式统一。
CCE云容器引擎是基于开源Docker和Kubernetes的企业级容器服务,提供高可靠高性能的企业级容器应用管理服务,支持Kubernetes社区原生应用和工具,简化云上自动化容器运行环境搭建。
为什么需要使用容器
- 更高效的利用系统资源。
容器不需要硬件虚拟化以及运行完整操作系统等额外开销,所以对系统资源利用率更高。相比虚拟机技术,一个相同配置的主机,往往可以运行更多数量的应用。
- 更快速的启动时间。
容器直接运行于宿主机内核,无需启动完整的操作系统,可以做到秒级甚至毫秒级的启动时间。大大节约开发、测试、部署的时间。
- 一致的运行环境。
容器镜像提供了完整的运行时环境,确保应用运行环境的一致性。从而不会再出现“这段代码在我机器上没问题”这类问题。
- 更轻松的迁移、维护和扩展。
容器确保了执行环境的一致性,使得应用迁移更加容易。同时使用的存储及镜像技术,使应用重复部分的复用更为容易,基于基础镜像进一步扩展镜像也变得非常简单。
- 方式一:单体应用整体容器化,应用代码和架构不做任何改动。
- 方式二:将应用中升级频繁,或对弹性伸缩要求高的组件拆分出来,将这部分组件容器化。
- 方式三:将应用做全面的微服务架构改造,再单独容器化。
这三种方式的优缺点如表1。
应用容器化改造方式 |
优点 |
缺点 |
---|---|---|
方式一:单体应用整体容器化 |
|
|
方式二:先将部分组件容器化(将对弹性扩展要求高,或更新频繁的组件拆分出来,先容器化改造) |
|
需要对业务做部分解耦拆分。 |
方式三:整体微服务架构改造,再容器化 |
|
业务需要微服务化改造,改动较大。 |
本教程以“方式一”为例,将单体的企业ERP系统做整体的容器化改造。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/309713.html