容器技术基础-容器技术介绍与特点

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
可观测链路 OpenTelemetry 版,每月50GB免费额度
性能测试 PTS,5000VUM额度
简介: 容器技术基础-容器技术介绍与特点

开发者学习笔记【阿里云云原生助理工程师认证(ACA)课程:容器技术基础-容器技术介绍与特点】

课程地址:https://edu.aliyun.com/course/3112075/lesson/19009


容器技术基础-容器技术介绍与特点

 

内容介绍:

一、容器

二、容器特点

 

课程目标:

在这一章节里面,我们来学习一下云原生容器技术的基础知识,包括容器技术以及容器编排技术,需要这些基础,后面的学习打下基础。期望大家通过本章节的学习,能够对容器技术的基本概念,容器的发展历程,容器编排技术价值以及应用场景有一个全面的了解。同时,大家更要对容器技术docker和容器编排排来技术kubernetes的概念,功能,应用场景,核心技术架构,关键组件以及基础使用有一个充分的了解和全面的掌握。

 

一、容器

大家结合左边这张图看,想想看,提到容器这个词,你想到什么呢?
装东西的一种工具那么今天要说的容器技术是怎样一个概念?
其实it里的容器技术就是英文单词的字,这个单词有集装箱和容器两含义。在翻译过程中,我们更加习惯的把它翻译为容器技术。如果需要形象的理解很难的技术的话,我们可以先看下这张图。
image.png
结合这张图,我们了解一下集装箱这个思想。集装箱的出现,改变了全球的运输模式。在没有极端箱的那个年代,不同的货物和不同的艺术方式,也构成了一个庞大的运输矩阵人们会担心不同类型的货物放在一起会造成相互的碰撞和挤压,导致货物的损坏,那它将需要将不同的货物进行分类运输这样是一种非常高成本,低效率的解决方式,并且需要在不同的环境下进行运输,也需要非常多的专线成本。装箱的出现正是完美的解决了这个问题集装箱的设计本身是没有太多的技术含量的但计算箱提供的标准化的物流方式,因此全世界的运输方式都随着集装箱的出现发生了根本的变化,集装箱最终改变了世己的贸易,想给我的系统建设也带来新的启发它是按照统一的标准去构建的它可以在轮船上,汽车上,卡车上,包括火车上在这些不同的公交通工具上进行去运输集装箱还提供了一个封闭隔离的空间用户不用担心会被压坏。同时,集装箱的整体搬运也不需要去频繁的装卸里面的货物。通过集装箱的这种调用,可以快速的实现运输的简化,从而降低了企业的运输成本,并且实现了货物的无损运输,这就是集装箱箱提出对世界的改变。
而我们今天提到的容器技术,也是借鉴相对容器技术的核心歧视容器的核心思想,其实就将集装箱的思想应用到了软件打包和部署上。

各类不同的代码提供了一种基于容器的标准化运输系统,简单说就是容器技术可以将任何应用,这个应用是无论是你用什么语言开发的程序或者什么样代码去开的应用,它都能够把这些应用,包括应用运行所依赖的数据库中间件的底层环境都会打包在一起,此时成为一个轻量级的,可以快速移植的,自包含的独立运行环境的整体,并且容器可运行在几乎所有现有的操作系统,无论操作系统是linux还是windows,包括云服务器,它都可以很好的在上面移植并运行,这就是容器技术对集装箱思想的一个借鉴和应用

image.png 

二、容器特点

下面是 it 世界里描述的容器技术的一些特点,容器它是一个允许我们在资源隔离的过程中运行应用程序和在其依赖下轻量操作系统级别的虚拟化技术,其应用程序所需要的所有的必要组件都打包为镜像,镜像可以重复使用,那么在镜像运行的时候它并不会与其他应用共享主机操作系统的内存、cpu或磁盘,这就保证容器内的进程是相互隔离的。
image.png首先容器是自包含的,它打包了这个应用程序及其所依赖的运行环境,可以快速的自运行,以前应用程序依赖管理是一个很大的问题,即使有技术能解决这个问题,但是这个技术没有将所有应用程序通过通用标准及时去打包分装,直到容器出现才实现了这种快速运行,它可以在任何地方以相同的方式来运行,这就确保了应用在开发环境和测试环境及生产环境都能完全一致的运行效果。还有容器它是相互隔离的,就是说,同一个主机上运行的多个容器,它不会有相互的影响,即一个容器中运行应用程序不会访问到其他容器资源,除非资源配置为共享资源。最后,容器它是轻量级的,主要体现在容器是秒级启动它占用的资源非常的少。概括一下容器技术,容器技术就是将软件能够打包成标准化的单元,以应用于开发,交互和部署的不同的环境中,它是一个轻量级的,可执行的,独立的软件包,它包含了软件运行所需要的所有领域,就包括代码,这样的话容器化软件它适用于基于不同操作系统的应用。在任何环境中它都能始终如一的去运行,这样容器就赋予了软件的独立性,使其受外界环境的这种差异影响很少,从而有助于减少团队之间在相同基础设施上运行不同软件时的冲突。

image.png 

接下来来学习之前采用的很多的虚拟化技术和现在容器技术之间有哪些差异,在虚拟化架构中底层是硬件,然后是操作系统,最后是虚拟层 hypervisor,有了 hypervisor 之后,我们还要安装虚拟机操作系统,接着是应用运行所需要的依赖环境,最后我们安装app,而在容器时代底层一样也是硬件和操作系统,接着它不是安装 hypervisor,而是安装一个 docker 引擎,那 docker 引擎安装完之后就可以在容器中配置应用运行所需的依赖环境,安装app就可以运行起来了这两种架构实际上一个很直观的对比,容器的运行不需要再额外安装虚拟机操作系统,容器是一种比虚拟机更轻量级的虚拟化技术,它可以秒级系统具备。

底层一样也是硬件和操系统它不是安装,而是安装一个docker引擎,那docker装完之后,就可以在容器中配置应用运行所需的依赖环节了,接着安装app就可以运了。我们这两种架构实际上也很直观的对比结果是容器的运行,它不需要在额外安装虚拟机操系统容器它是一种比虚拟机更轻量级的虚拟化技术它可以具备更好的快速扩力,当然,他比虚拟机具备更好地画平台的迁移人

另外,由于运行在同一个主题上的高口容器,它是共用一个的,而虚拟机者是使用自己超系统上的可能从这一点看,虚拟之间拥有docker更好的隔离性,但是呢,必须有更多的优势。
首先,系统去集操系统存在额外面占用很多的计算资源。其次,从空间上占用上一个虚拟机基本上是gb级别的,而一个容器和小时兆第三,虚拟机启动时间一般是几秒或几分钟,容器的启动时间是毫秒级的,这样就由于容器的轻量级,所以它具备了更好的快速扩大能力另外到可比虚拟机具备更好的跨平台一致能力比如虚拟机无法做的事情,但docker不一样,只要安装的docker引擎docker容器就可以在些平台上运起来。

相关文章
|
17天前
|
消息中间件 弹性计算 Kubernetes
RabbitMQ与容器化技术的集成实践
【8月更文第28天】RabbitMQ 是一个开源消息代理和队列服务器,用于在分布式系统中存储、转发消息。随着微服务架构的普及,容器化技术(如 Docker 和 Kubernetes)成为了部署和管理应用程序的标准方式。本文将探讨如何使用 Docker 和 Kubernetes 在生产环境中部署和管理 RabbitMQ 服务,同时保证高可用性和弹性伸缩能力。
36 3
|
3天前
|
Kubernetes Cloud Native Docker
探索云原生技术之旅:从容器到微服务
【8月更文挑战第42天】本文将带你踏上一场云原生技术的奇妙之旅,我们将从容器技术的基础出发,逐步深入到微服务架构的世界。你将了解到如何利用Docker和Kubernetes简化应用部署与管理,以及如何通过微服务设计原则构建可扩展、灵活的系统。准备好一起探索这些令人兴奋的技术了吗?让我们开始吧!
35 14
|
1天前
|
Cloud Native 持续交付 Docker
探索Docker容器化技术及其在软件开发中的应用
探索Docker容器化技术及其在软件开发中的应用
13 7
|
1天前
|
存储 虚拟化 开发者
深入理解Docker容器化技术
深入理解Docker容器化技术
18 6
|
4天前
|
持续交付 开发者 Docker
掌握 Docker:容器化技术在现代开发中的应用
Docker 是一个开源容器化平台,使开发者能够将应用程序及其依赖项封装在轻量级容器中,确保跨平台的一致性。本文介绍了 Docker 的基本概念、核心组件及优势,并展示了其在快速部署、一致性、可移植性和微服务架构中的应用。通过示例说明了 Docker 在本地开发环境搭建、服务依赖管理和 CI/CD 流程中的作用,以及多阶段构建、资源限制和网络模式等高级特性。掌握 Docker 可大幅提升开发效率和应用管理能力。
|
1天前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
9 3
|
9天前
|
Cloud Native 持续交付 Docker
云原生技术实践:Docker容器化部署教程
【9月更文挑战第4天】本文将引导你了解如何利用Docker这一云原生技术的核心工具,实现应用的容器化部署。文章不仅提供了详细的步骤和代码示例,还深入探讨了云原生技术背后的哲学,帮助你理解为何容器化在现代软件开发中变得如此重要,并指导你如何在实际操作中运用这些知识。
|
9天前
|
Kubernetes Cloud Native Docker
云原生技术:容器化与微服务架构的融合之道
【9月更文挑战第4天】在数字化时代的浪潮下,企业追求敏捷、高效、可扩展的IT架构成为共识。云原生技术作为现代软件部署的黄金标准,其核心理念在于推动应用的快速迭代与无缝迁移。本文将深入探讨云原生技术的精髓——容器化与微服务架构如何相互促进,共同构建起适应云计算环境的应用生态系统。我们将通过实际案例,揭示如何在云平台上利用这些技术实现服务的解耦、弹性伸缩及自动化管理,进而提升企业的竞争力。
|
13天前
|
Kubernetes Cloud Native Docker
探索云原生技术:从容器化到微服务的实践之旅
在数字时代的浪潮中,云原生技术如同一艘航船,带领企业乘风破浪。本文将带你领略云原生的奥妙,从容器化技术的基石Docker讲起,到Kubernetes集群管理的航海术,再到微服务的架构设计,我们将一起构建、部署并运行一个简单的云原生应用。准备好,让我们启航!【8月更文挑战第31天】
|
14天前
|
Kubernetes Cloud Native Docker
探索云原生技术之旅:从容器到微服务
【8月更文挑战第31天】 本文将带你踏上一场云原生技术的奇妙之旅,我们将从容器技术的基础出发,逐步深入到微服务架构的世界。你将了解到如何利用Docker和Kubernetes简化应用部署与管理,以及如何通过微服务设计原则构建可扩展、灵活的系统。准备好一起探索这些令人兴奋的技术了吗?让我们开始吧!