广告
返回顶部
首页 > 资讯 > 前端开发 > html >Docker虚拟化是什么
  • 102
分享到

Docker虚拟化是什么

2024-04-02 19:04:59 102人浏览 薄情痞子
摘要

这篇“Docker虚拟化是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Docker虚

这篇“Docker虚拟化是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Docker虚拟化是什么”文章吧。

1.docker简介

1.1虚拟化

1.1.1什么是虚拟化

在计算机中,虚拟化(英语:virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。

在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件对资源充分利用虚拟化技术种类很多,例如:软件虚拟化、硬件虚拟化、内存虚拟化、网络虚拟化(vip)、桌面虚拟化、服务虚拟化、虚拟机等等。

1.1.2虚拟化种类

(1)全虚拟化架构 虚拟硬件 —>虚拟操作系统

虚拟机的监视器(hypervisor)是类似于用户的应用程序运行在主机的os之上,如vmware的workstation,这种虚拟化产品提供了虚拟的硬件。

Docker虚拟化是什么

(2)os层虚拟化架构: 不对硬件进行虚拟化,相同内核操作系统

Docker虚拟化是什么

(3)硬件层虚拟化

Docker虚拟化是什么

硬件层的虚拟化具有高性能和隔离性,因为hypervisor直接在硬件上运行,有利于控制vm的os访问硬件资源,使用这种解决方案的产品有vmware esxi 和 xen server

hypervisor是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件,因此也可以看作是虚拟环境中的“元”操作系统,它可以协调访问服务器上的所有物理设备和虚拟机,也叫虚拟机监视器(virtual Machine monitor,vmm)。

hypervisor是所有虚拟化技术的核心。当服务器启动并执行hypervisor时,它会给每一台虚拟机分配适量的内存、cpu、网络和磁盘,并加载所有虚拟机的客户操作系统。宿主机

hypervisor是所有虚拟化技术的核心,软硬件架构和管理更高效、更灵活,硬件的效能能够更好地发挥出来。常见的产品有:vmware、kvm、xen等等。openstack

1.2什么是docker

Docker虚拟化是什么

1.2.1容器技术 类似os层虚拟化架构:

在计算机的世界中,容器拥有一段漫长且传奇的历史。容器与管理程序虚拟化(hypervisor virtualization,hv)有所不同,管理程序虚拟化通过中间层将一台或者多台独立的机器虚拟运行与物理硬件之上,而容器则是直接运行在操作系统内核之上的用户空间。因此,容器虚拟化也被称为“操作系统级虚拟化”,容器技术可以让多个独立的用户空间运行在同一台宿主机上。

由于“客居”于操作系统,容器只能运行与底层宿主机相同或者相似的操作系统,这看起来并不是非常灵活。例如:可以在ubuntu服务中运行redhat enterprise linux,但无法再ubuntu服务器上运行microsoft windows

相对于彻底隔离的管理程序虚拟化,容器被认为是不安全的。而反对这一观点的人则认为,由于虚拟容器所虚拟的是一个完整的操作系统,这无疑增大了攻击范围,而且还要考虑管理程序层潜在的暴露风险。

尽管有诸多局限性,容器还是被广泛部署于各种各样的应用场合。在超大规模的多租户服务部署、轻量级沙盒以及对安全要求不太高的隔离环境中,容器技术非常流行。最常见的一个例子就是“权限隔离监牢”(chroot jail),它创建一个隔离的目录环境来运行进程。如果权限隔离监牢正在运行的进程被入侵者攻破,入侵者便会发现自己“身陷囹圄”,因为权限不足被困在容器所创建的目录中,无法对宿主机进一步破坏。

最新的容器技术引入了openvz、solaris zones以及linux容器(lxc)。使用这些新技术,容器不在仅仅是一个单纯的运行环境。在自己的权限类内,容器更像是一个完整的宿主机。对docker来说,它得益于现代linux特性,如控件组(control group)、命名空间(namespace)技术,容器和宿主机之间的隔离更加彻底,容器有独立的网络和存储栈,还拥有自己的资源管理能力,使得同一台宿主机中的多个容器可以友好的共存。

容器被认为是精益技术,因为容器需要的开销有限。和传统虚拟化以及半虚拟化相比,容器不需要模拟层(emulation layer)和管理层(hypervisor layer),而是使用操作系统的系统调用接口。这降低了运行单个容器所需的开销,也使得宿主机中可以运行更多的容器。

尽管有着光辉的历史,容器仍未得到广泛的认可。一个很重要的原因就是容器技术的复杂性:容器本身就比较复杂,不易安装,管理和自动化也很困难。而docker就是为了改变这一切而生的。

1.2.2容器与虚拟机比较

(1)本质上的区别

Docker虚拟化是什么

(2)使用上的区别

Docker虚拟化是什么

1.2.3 docker特点

(1)上手快。

用户只需要几分钟,就可以把自己的程序“docker化”。docker依赖于“写时复制”(copy-on-write)模型,使修改应用程序也非常迅速,可以说达到“随心所致,代码即改”的境界。

随后,就可以创建容器来运行应用程序了。大多数docker容器只需要不到1秒中即可启动。由于去除了管理程序的开销,docker容器拥有很高的性能,同时同一台宿主机中也可以运行更多的容器,使用户尽可能的充分利用系统资源。

(2)职责的逻辑分类

使用docker,开发人员只需要关心容器中运行的应用程序,而运维人员只需要关心如何管理容器。docker设计的目的就是要加强开发人员写代码的开发环境与应用程序要部署的生产环境一致性。从而降低那种“开发时一切正常,肯定是运维的问题(测试环境都是正常的,上线后出了问题就归结为肯定是运维的问题)”

(3)快速高效的开发生命周期

docker的目标之一就是缩短代码从开发、测试到部署、上线运行的周期,让你的应用程序具备可移植性,易于构建,并易于协作。(通俗一点说,docker就像一个盒子,里面可以装很多物件,如果需要这些物件的可以直接将该大盒子拿走,而不需要从该盒子中一件件的取。)

(4)鼓励使用面向服务的架构

docker还鼓励面向服务的体系结构和微服务架构。docker推荐单个容器只运行一个应用程序或进程,这样就形成了一个分布式的应用程序模型,在这种模型下,应用程序或者服务都可以表示为一系列内部互联的容器,从而使分布式部署应用程序,扩展或调试应用程序都变得非常简单,同时也提高了程序的内省性。(当然,可以在一个容器中运行多个应用程序)

1.3 docker组件

1.3.1 docker客户端和服务器

docker是一个客户端-服务器(c/s)架构程序。docker客户端只需要向docker服务器或者守护进程发出请求,服务器或者守护进程将完成所有工作并返回结果。docker提供了一个命令行工具docker以及一整套restful api。你可以在同一台宿主机上运行docker守护进程和客户端,也可以从本地的docker客户端连接到运行在另一台宿主机上的远程docker守护进程。

Docker虚拟化是什么

1.3.2 docker镜像

镜像是构建docker的基石。用户基于镜像来运行自己的容器。镜像也是docker生命周期中的“构建”部分。镜像是基于联合文件系统的一种层式结构,由一系列指令一步一步构建出来。例如:

  • 添加一个文件;

  • 执行一个命令;

  • 打开一个窗口。

也可以将镜像当作容器的“源代码”。镜像体积很小,非常“便携”,易于分享、存储和更新。

1.3.3 registry(注册中心)

docker用reGIStry来保存用户构建的镜像。registry分为公共和私有两种。docker公司运营公共的registry叫做docker hub。用户可以在docker hub注册账号,分享并保存自己的镜像(说明:在docker hub下载镜像巨慢,可以自己构建私有的registry)。

1.3.4 docker容器

docker可以帮助你构建和部署容器,你只需要把自己的应用程序或者服务打包放进容器即可。容器是基于镜像启动起来的,容器中可以运行一个或多个进程。我们可以认为,镜像是docker生命周期中的构建或者打包阶段,而容器则是启动或者执行阶段。 容器基于镜像启动,一旦容器启动完成后,我们就可以登录到容器中安装自己需要的软件或者服务。

Docker虚拟化是什么

所以docker容器就是:

  • 一个镜像格式;

  • 一些列标准操作;

  • 一个执行环境。

docker借鉴了标准集装箱的概念。标准集装箱将货物运往世界各地,docker将这个模型运用到自己的设计中,唯一不同的是:集装箱运输货物,而docker运输软件。

和集装箱一样,docker在执行上述操作时,并不关心容器中到底装了什么,它不管是WEB服务器,还是数据库,或者是应用程序服务器什么的。所有的容器都按照相同的方式将内容“装载”进去。

docker也不关心你要把容器运到何方:我们可以在自己的笔记本中构建容器,上传到registry,然后下载到一个物理的或者虚拟的服务器来测试,在把容器部署到具体的主机中。像标准集装箱一样,docker容器方便替换,可以叠加,易于分发,并且尽量通用。

使用docker,我们可以快速的构建一个应用程序服务器、一个消息总线、一套实用工具、一个持续集成(ci)测试环境或者任意一种应用程序、服务或工具。我们可以在本地构建一个完整的测试环境,也可以为生产或开发快速复制一套复杂的应用程序栈。

以上就是关于“Docker虚拟化是什么”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网html频道。

--结束END--

本文标题: Docker虚拟化是什么

本文链接: https://www.lsjlt.com/news/96319.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Docker虚拟化是什么
    这篇“Docker虚拟化是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Docker虚...
    99+
    2022-10-19
  • Docker虚拟化怎么部署
    这篇文章主要介绍了Docker虚拟化怎么部署的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Docker虚拟化怎么部署文章都会有所收获,下面我们一起来看看吧。Docker 虚拟化关于Docker本小节将介绍 Do...
    99+
    2023-06-29
  • 详细讲解Docker虚拟化
    目录Docker 虚拟化关于Docker传统虚拟化部署方式Linux 虚拟化Linux-NamespaceunshareGo 简单实现 进程隔离cgroups 硬件资源隔离聊聊虚拟化...
    99+
    2022-11-13
  • RHEL7 Docker 虚拟化使用(二)
    Docker是一个开源工具,它可以让创建和管理linux容器变得简单。容器就像是轻量级的虚拟机,作为一种新兴的虚拟化方式,Docker跟传统的虚拟化方式相比具有众多优势。环境:Centos7ip:172.16.1.10Docker vers...
    99+
    2023-06-04
  • linux虚拟化指的是什么
    这篇文章主要讲解了“linux虚拟化指的是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux虚拟化指的是什么”吧!在linux中,虚拟化是一种资源管理技术,可以将计算机的各种实体资...
    99+
    2023-06-29
  • linux虚拟化的作用是什么
    这篇文章主要介绍了linux虚拟化的作用是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇linux虚拟化的作用是什么文章都会有所收获,下面我们一起来看看吧。 ...
    99+
    2023-04-21
    linux
  • docker虚拟化之订制python环境
    前面我们讲了python爬虫用到的工具及模块:phantomjs、beautifulsoup4、selenium、lxml等,如果我们想随时随地用到这个已经搭建好的python环境,这就有两个方案:一是利用vagrant打包pyt...
    99+
    2023-01-31
    订制 环境 docker
  • web后端虚拟化技术是什么
    本篇内容主要讲解“web后端虚拟化技术是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“web后端虚拟化技术是什么”吧!内核,是指的操作系统内核。所有的操作系统都有内核,无论是Windows还...
    99+
    2023-06-04
  • 虚拟DOM是什么
    这篇文章主要介绍了虚拟DOM是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇虚拟DOM是什么文章都会有所收获,下面我们一起来看看吧。Snabbdom 是一个虚拟 DOM 实...
    99+
    2022-10-19
  • 服务器虚拟化的优点是什么
    本篇内容主要讲解“服务器虚拟化的优点是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“服务器虚拟化的优点是什么”吧!服务器虚拟化有什么用处服务器虚拟化的优点是什么很多站长和网站运行管理员对此并...
    99+
    2023-06-07
  • 什么是虚拟主机
    虚拟主机是指将一台的服务器主机分成多台虚拟的主机,每台虚拟主机都具备独立的域名,从而实现多网域服务的方法,并且每台虚拟主机之间是完全独立的,由用户自行管理监控。什么是虚拟主机虚拟主机是使用特殊的软硬件技术,把一台运行在因特网上的服务器主机分...
    99+
    2022-10-17
  • 什么是云虚拟机
    云虚拟机是一款虚拟主机产品,具有高度可用的云架构,能够站点数据存储在云存储当中。并且它所具备的要求比传统的虚拟主机更高,不管是在性能还是稳定和价格方面都比较好,其具备高在线率、智能容错、正版系统、免备份、等多项优势都特别适用于对网站运行质量...
    99+
    2022-10-11
  • 什么是Java虚拟机
    这篇文章主要介绍“什么是Java虚拟机”,在日常操作中,相信很多人在什么是Java虚拟机问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”什么是Java虚拟机”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!一、...
    99+
    2023-06-03
  • 服务器虚拟化vps的方法是什么
    1、容器化虚拟化容器化虚拟化是一种比较轻量级的虚拟化方法,它通过在操作系统层面上创建容器,使得多个容器可以共享同一台物理服务器的资源...
    99+
    2023-05-13
    服务器虚拟化vps 服务器 vps
  • docker中如何实现容器虚拟化网络
    这篇文章主要为大家展示了“docker中如何实现容器虚拟化网络”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“docker中如何实现容器虚拟化网络”这篇文章吧。overlay network(叠加...
    99+
    2023-06-04
  • vSphere虚拟化管理平台的功能是什么
    这篇文章主要讲解了“vSphere虚拟化管理平台的功能是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vSphere虚拟化管理平台的功能是什么”吧!VMware vSphere® 提供全...
    99+
    2023-06-04
  • docker实现虚拟化的关键技术有哪些
    Docker实现虚拟化的关键技术包括:1. Linux容器:Docker使用Linux容器(LXC)技术实现虚拟化。Linux容器是...
    99+
    2023-09-12
    docker
  • php虚拟主机是什么
    这篇文章主要讲解了“php虚拟主机是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php虚拟主机是什么”吧!php的虚拟主机指的是支持PHP语言开发的虚拟主机,其优势有:1、开源和免费;...
    99+
    2023-06-28
  • Linux虚拟内存是什么
    这篇“Linux虚拟内存是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Linux虚拟内存是什么”文章吧。虚拟内存由来毋...
    99+
    2023-06-27
  • 虚拟化工具CoLinux有什么用
    这篇文章给大家分享的是有关虚拟化工具CoLinux有什么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。CoLinux(Cooperative  Linux)的简称,是一个虚拟化工具,但是和VMware...
    99+
    2023-06-16
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作