Docker:简单了解虚拟化和容器概念

本文介绍了虚拟化的基本概念,包括耦合与解耦合、虚拟化的作用和工作原理,重点讲解了QEMU和KVM。接着,文章深入探讨了Docker,解释了Docker如何提供轻量级容器,对比了容器与虚拟机的区别,强调了容器的灵活性、轻量级和资源利用率高的特点。最后提到了Docker的核心概念:镜像、容器和仓库,并提及了另一种容器技术Podman。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、虚拟化简介

1.1 耦合与解耦合

耦合

解耦合

1.2 虚拟化作用

1.3 虚拟化工作原理

1.4 QEMU

1.5 KVM

1.6 虚拟化类型

二、Docker概述

1.1 IT架构的演进:

1.2 Docker初始

1.3 容器的特点

1.4 Docker容器与虚拟机的区别

隔离与共享

性能与损耗

1.5 容器在内核中支持2种重要技术

1.6 Docker核心概念

1)镜像

2)容器

3)仓库

三、其他容器Podman


一、虚拟化简介

通过虚拟化技术将一台计算机虚拟为多台逻辑计算机,在一台计算机上同时运行多个逻辑计算机,同时每个逻辑计算机可运行不同的操作系统,应用程序都可以在相互独立的空间内运行而互相不影响,从而提高计算机的工作效率。

  • 在一个操作系统中(win10)模拟多个操作系统(centos、win10、suse),同时每个操作系统可以跑不同的服务(nginx+tomcat),从而实现一台宿主机搭建一个集群(从整体)。
  • 通过软件/应用程序的方式,来实现物理硬件的功能。例如ensp,以软件形式实现物理设备的功能(二层交换机、路由器、三层交换机等)。

虚拟化:将应用程序和系统内核资源进行解耦,以操作系统级别进行隔离,目的是提高资源利用率

1.1 耦合与解耦合

耦合性是程序结构中各个模块之间相互关联的度量。它取决于各个模块之间的接口的复杂程度、调用模块的方式以及哪些信息通过接口。

耦合

  • 耦合是指两个或两个以上的体系或两种运动形式间通过相互作用而彼此影响以至联合起来的现象。
  • 对象之间的耦合度就是对象之间的依赖性。
  • 对象之间的耦合越高,维护成本越高

解耦合

  • 字面意思就是解除耦合关系。
  • 在软件工程中,降低耦合度即可以理解为解耦,模块间有依赖关系必然存在耦合,理论上的绝对零耦合是做不到的,但可以通过一些现有的方法将耦合度降至最低。

1.2 虚拟化作用

缓解/解决了资源利用率的问题

1.3 虚拟化工作原理

虚拟机管理器功能:调用资源

两大核心组件:QEMU、KVM

1.4 QEMU

  • QEMU是I/O控制的模块,可以理解为队列,核心目的是调用资源内核中的资源,需要把KVM逻辑分割出来的资源运输给QEMU,再给虚拟机。
  • QEMU它并不是直接调用,而是用I/O方式调用,QEMU把资源调用来的过程借用ioctl,QEMU借助libvirt这个工具调用ioctl,再通过接口,给虚拟机应用程序。

1.5 KVM

  • 用来逻辑分割物理资源,抽象化为虚拟化资源,根据VMM里的配置,会逻辑分割出多少G,给应用程序,去进行虚拟化。
  • 只接受来自QEMU的请求指令。对于应用程序直接过来的敏感指令会拦截,然后通过接口发给QEMU,让QEMU判断是否需要执行,可以的话,再下来,不可以的话,打回去,不执行该敏感指令。

1.6 虚拟化类型

  • 全虚拟化:将物理硬件资源全部通过软件的方式抽象化,最后进行调用
  • 半虚拟化:需
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值