云计算——容器

简介: 云计算——容器

前言

本章会讲解云计算中的容器,了解容器的基本作用,核心,组成,以及特点。


一.容器简介

容器:包装或装载物品的贮存器,利用一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任一Linux或Windows机器上,也可以实现虚拟化。相互之间不会有任何接口,实现APP与操作系统的解耦。

镜像是可执行的独立软件包,包含软件运行的内容:代码,运行时环境,系统工具,系统库和设置。(容器就是将OS上层的应用进行了隔离)


二.主流容器技术

1.docker

定义:Docker属于Linux容器的一种封装,提供简单易用的容器使用接口,他是目前最Linux的Linux容器解决方案。

作用:将应用程序与该程序的依赖,打包在一个文件里。运行这个文件,就会生成一个虚拟容器,程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了Docker,就不用担心环境问题。

核心:实现应用与运行环境整体打包及打包格式统一。


(1)容器的组成

一个完整的Docker有以下几个部分组成:

  • 客户端(Docker Client)电脑,桌面
  • 守护进程(Docker Daemon)等待接受客户端消息,可执行命令
  • 镜像(Docker image)创建docker的容器
  • 容器(Docker Container)镜像的实例,容器包含在镜像中,容器是镜像的子系统
  • 仓库(Docker Registry)存储镜像


(2)容器特点

容器本质上是一款轻量级虚拟化技术

  • 用户需要高效运行环境,而非整个机器
  • 一次构建,到处运行
  • 部署方便(创建的速度快,秒级)
  • 隔离性好
  • 成本低

2.容器和虚拟化区别

虚拟化 容器

隔离性强,有独立的GUEST OS

共享内核和OS,隔离性弱

虚拟化性能差(>15%)

计算/存储无损耗,无GuestOS内存开销(~200M)

虚拟机镜像庞大(十几G~几十G),且实例化时不能共享

Docker容器镜象200~300M,且公共基础镜象实例化时可以共享
虚拟机镜象缺乏统一标准

Docker提供了容器应用镜象事实标准,OCI推动进一步标准化

虚拟机创建慢(>2分钟)

秒级创建(<10s)相当于建立索引

虚拟机启动慢(>30s)读文件逐个加载

秒级(<1s,不含应用本身启动)
资源虚拟化粒度低,单机10~100虚拟机

单机支持1000+容器密度很高,适合大规模的部署


3.什么时候适合用虚拟化,什么时候适合容器

  • 要求比较高的环境推荐使用虚拟化,有独立的客户操作系统
  • 应用环境低的使用容器

4.容器的应用场景

Docker的主要用途,目前有三大类。

  • 提供一次性的环境,比如,本地测试他人的软件,持续集成的时候提供单元测试和构建的环境。
  • 提供弹性的云服务,因为Docker容器可以随开随关,很适合动态扩容和缩容。
  • 组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。

创作不易,求关注,点赞,收藏,谢谢~

目录
相关文章
|
5天前
|
安全 Devops 虚拟化
【专栏】虚拟化技术与云计算平台 OpenStack:硬件虚拟化、操作系统级虚拟化和容器化
【4月更文挑战第28天】本文探讨虚拟化技术原理,如硬件虚拟化、操作系统级虚拟化和容器化,以及开源云计算平台OpenStack如何利用这些技术提供优势。OpenStack支持多种虚拟化技术,具备开源灵活性、多租户架构、可扩展性、插件式设计和成本效益。未来,OpenStack将在容器化、DevOps、跨云策略和安全合规性方面发挥更大作用,助力企业数字化转型。
|
5天前
|
边缘计算 Kubernetes 负载均衡
容器编排技术在云计算中的应用
随着云计算技术的飞速发展,容器编排技术作为一种重要的部署和管理工具,正在逐渐成为云计算领域的热门话题。本文将介绍容器编排技术在云计算中的应用,探讨其在提高应用程序部署效率、资源利用率以及系统可靠性方面的优势,并分析其未来发展趋势。
|
5天前
|
存储 Kubernetes 云计算
云计算基础与实战:从虚拟机到容器化应用
云计算基础与实战:从虚拟机到容器化应用
38 0
|
5天前
|
Kubernetes 云计算 开发者
云计算中的容器化技术:Docker与Kubernetes的实践
云计算中的容器化技术:Docker与Kubernetes的实践
196 0
|
5天前
|
测试技术 Go 云计算
Go语言优化云计算与容器化环境的策略与最佳实践
【2月更文挑战第15天】在云计算和容器化环境中,Go语言的应用和优化策略对于提高系统的性能和效率至关重要。本文深入探讨了如何使用Go语言优化云计算和容器化环境,包括内存管理、并发编程、代码优化等方面的最佳实践,旨在帮助开发者充分利用Go语言的优势,提升系统的整体性能。
|
7月前
|
运维 Kubernetes jenkins
全国职业技能大赛云计算--高职组赛题卷⑤(容器云)
全国职业技能大赛云计算--高职组赛题卷⑤(容器云)
118 1
|
9月前
|
数据管理 Linux 云计算
云计算-9-Dokcer容器的数据管理
数据卷是可以供一个或者多个容器使用的特殊目录,它绕过UFS(UNIX文件系统),数据卷的设计目的,在于数据的持久化存储,它完全独立于容器的生命周期,所以在删除docker容器的时候不会删除其挂载的数据卷,也不存在类似垃圾收集机制,对容器挂载的数据卷进行处理
96 1
|
10月前
|
分布式计算 Ubuntu Hadoop
Hadoop生态系统中的云计算与容器化技术:Apache Mesos和Docker的应用
Hadoop生态系统中的云计算与容器化技术:Apache Mesos和Docker的应用