云计算——容器

简介: 云计算——容器

前言

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


一.容器简介

容器:包装或装载物品的贮存器,利用一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任一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容器可以随开随关,很适合动态扩容和缩容。
  • 组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。

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

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