【Docker】Docker容器与虚拟机的对比、三要素、架构和镜像加速器的详细讲解

这篇具有很好参考价值的文章主要介绍了【Docker】Docker容器与虚拟机的对比、三要素、架构和镜像加速器的详细讲解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🚀欢迎来到本文🚀
🍉个人简介:陈童学哦,目前学习C/C++、算法、Python、Java等方向,一个正在慢慢前行的普通人。
🏀系列专栏:陈童学的日记
💡其他专栏:C++STL,感兴趣的小伙伴可以看看。
🎁希望各位→点赞👍 + 收藏⭐️ + 留言📝 ​
⛱️万物从心起,心动则万物动🏄‍♂️

【Docker】Docker容器与虚拟机的对比、三要素、架构和镜像加速器的详细讲解,陈童学的日记,docker,架构,容器,云原生,linux

前言:Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux系统 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

Docker与虚拟机的对比

Docker与虚拟机在几个方面有所不同。首先,磁盘空间使用方面,Docker的镜像层一般很小,只有几十KB,而虚拟机则通常以GB为单位。

  • 性能方面,Docker依附于宿主机,所以性能接近宿主机,而虚拟机相对于原主机来说性能较差。[1]再者,资源利用率方面,Docker的资源利用率较高,而虚拟机的资源利用率较低。
  • 隔离性方面,Docker和虚拟机都具有安全隔离的特性。
  • Docker直接在宿主机内核上运行,而虚拟机运行在隔离层Hypervisor上。
  • Docker可以同时运行上千个容器,而虚拟机相对较厚重,最多只能启动几十个。
  • 在运行速度方面,Docker优于虚拟机,Docker容器的启动和停止可以在秒级实现,而传统的虚拟机方式要慢得多。

总的来说,Docker作为一种轻量级的虚拟化方式,在运行应用上具有显著的优势,启动速度快,对系统资源需求少,指令简明,学习成本较低

【Docker】Docker容器与虚拟机的对比、三要素、架构和镜像加速器的详细讲解,陈童学的日记,docker,架构,容器,云原生,linux

Docker的三要素(镜像、容器、仓库)

Docker中的三要素为:Image(镜像),Container(容器),Repository(仓库)。

Image(镜像)一个只读的文件系统

Docker中的镜像是一个只读的文件系统,它包含了运行一个容器所需的所有文件和配置。镜像可以通过扩展现有镜像来创建新的镜像。大多数镜像都是通过在基础镜像中安装和配置需要的软件来构建的。基础镜像是镜像栈的最底部,而位于下面的镜像称为父镜像。当从一个镜像启动容器时,Docker会在该镜像的最顶层加载一个读写文件系统,我们想在Docker中运行的程序就是在这个读写层中执行的。

基础镜像可以是任何可用的镜像文件,如果在Docker主机上找不到指定的镜像文件,Docker会从Docker Hub Registry上拉取所需的镜像文件。如果找不到指定的镜像文件,docker build会返回一个错误信息。

【Docker】Docker容器与虚拟机的对比、三要素、架构和镜像加速器的详细讲解,陈童学的日记,docker,架构,容器,云原生,linux

Container(容器)一个独立运行的应用程序的实例

在Docker中,容器是指一个独立运行的应用程序的实例。每个容器都是在Docker引擎上运行的一个进程,它具有自己的文件系统、网络和进程空间。容器是通过Docker镜像创建的,镜像是一个只读的模板,包含了运行应用程序所需的所有文件和配置。容器可以被启动、停止、删除和重启,它们提供了一种轻量级、可移植和可扩展的方式来打包和部署应用程序。

在Docker中,容器的网络配置是通过Linux桥接实现的。在宿主机上虚拟一个Docker容器网桥(docker0),当启动一个容器时,Docker会为容器分配一个IP地址,并将Docker网桥作为容器的默认网关。这样,同一宿主机上的容器可以通过容器的IP地址直接进行通信。Docker还提供了四种网络模式,包括桥接模式、主机模式、容器模式和无网络模式,以满足不同的网络需求。

综上所述,Docker中的容器是一个独立运行的应用程序实例,它具有自己的文件系统、网络和进程空间。容器是通过Docker镜像创建的,可以被启动、停止、删除和重启。容器的网络配置是通过Linux桥接实现的,同一宿主机上的容器可以通过容器的IP地址直接进行通信。此外,Docker还提供了不同的网络模式来满足不同的网络需求。

【Docker】Docker容器与虚拟机的对比、三要素、架构和镜像加速器的详细讲解,陈童学的日记,docker,架构,容器,云原生,linux

Repository(仓库)保存镜像统一存储的位置

在Docker中,仓库(Registry)是用来保存所有创建好的镜像统一存储的位置。它分为私有仓库(Private Registry)和公共仓库(Public Registry)。公共仓库的名字是Docker Hub,它是世界上最大的容器镜像存储库,包含了大量的镜像供使用。这些镜像可以是用户自己创建的,也可以是在别人的镜像基础上创建的。Docker Hub提供了免费的公共仓库供用户存储和共享镜像,同时也提供了私人仓库的订阅计划供用户选择。

对于私有仓库的搭建,可以通过以下步骤进行:

  • 1.环境部署:准备好搭建私有仓库所需的环境。
  • 2.自建仓库:搭建私有仓库,可以使用Docker Registry来实现。
  • 3.使用TLS证书:生成TLS证书,以确保仓库的安全性。
  • 4.Nginx反向代理仓库:使用Nginx作为反向代理来提供更好的访问控制和性能。
  • 5.可视化私有仓库:可以使用一些可视化工具来管理和监控私有仓库的使用情况。

总结来说,Docker中的仓库是用来存储和分发镜像的地方,可以是公共仓库(如DockerHub)或私有仓库。私有仓库可以通过搭建自己的仓库来实现,并可以使用TLS证书和Nginx反向代理来增加安全性和性能。同时,还可以使用可视化工具来管理和监控私有仓库的使用情况。

【Docker】Docker容器与虚拟机的对比、三要素、架构和镜像加速器的详细讲解,陈童学的日记,docker,架构,容器,云原生,linux

Docker的架构及其工作原理

Docker的架构由多个组件组成。其中,Docker Daemon是Docker架构的主体部分,它提供了Server的功能,可以接受Docker Client的请求。Docker Engine是Docker内部的执行引擎,它以Job的形式执行一系列工作。

Docker架构中的其他主要模块包括:

  • 1.Docker Client:作为用户与Docker交互的命令行工具或API。
  • 2.Docker Registry:用于存储和分发Docker镜像的中央仓库。公有的Docker Registry包括Docker Hub,用户可以通过互联网访问获取容器镜像。同时,Docker也支持构建本地私有的Docker Registry,以在内网环境中获取容器镜像。
  • 3.Graph:用于存储Docker镜像和容器的文件系统。它包含了镜像的各个层以及容器的文件系统变化。[2]
    此外,Docker架构还包括Driver、libcontainer和Docker container等组件,它们在Docker的运行过程中发挥着重要的作用。

总结起来,Docker的架构由Docker Daemon、Docker Client、Docker Registry、Graph、Driver、libcontainer和Docker container等多个组件组成。Docker Daemon作为主体部分,接受Docker Client的请求并通过Docker Engine执行各种工作。Docker Registry用于存储和分发Docker镜像,可以是公有的Docker Hub或私有的本地Registry。Graph用于存储镜像和容器的文件系统。

【Docker】Docker容器与虚拟机的对比、三要素、架构和镜像加速器的详细讲解,陈童学的日记,docker,架构,容器,云原生,linux

Docker的镜像加速器的配置

Docker的镜像加速器是用来加速Docker官方镜像的下载的工具。阿里云容器镜像服务ACR提供了官方的镜像站点,可以加速官方镜像的下载。

【Docker】Docker容器与虚拟机的对比、三要素、架构和镜像加速器的详细讲解,陈童学的日记,docker,架构,容器,云原生,linux

要配置镜像加速器,可以按照以下步骤进行操作:

首先,在终端中输入命令:

sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://mqkiky4e.mirror.aliyuncs.com"] } EOF

这将在/etc/docker/目录下创建一个名为daemon.json的文件,并将镜像加速器的地址配置为为"https://mqkiky4e.mirror.aliyuncs.com"。
然后,重新加载配置文件,可以使用命令:

sudo systemctl daemon-reload

最后,重启Docker服务,可以使用命令:

sudo systemctl restart docker

这样你大概率可能也许或许应该是就成功配置了Docker的镜像加速器

如果本文对大家有所帮助的话,还望各位能给我点赞、收藏并评论一下,感谢各位💕!!! 另如果大家有什么疑问或者建议的话,欢迎评论区留言。

那么,我们下期再见。文章来源地址https://www.toymoban.com/news/detail-614651.html

到了这里,关于【Docker】Docker容器与虚拟机的对比、三要素、架构和镜像加速器的详细讲解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker下载镜像(配置阿里云加速器)和容器的基本使用(有指令解释哦~)

    📜没有安装Dokcer的可以去看一下我的另一篇文章 || 已经安装的可以根据文章内容进行操作或者浏览 (3条消息) Docker的三大核心概念与安装docker(Dokcer 入门)_doucker安装_我敲BUG的博客-CSDN博客 目录  前言 :文章的指令必须安装Docker才能执行哦~ 📜没有安装Dokcer的可以去看一下我

    2024年02月02日
    浏览(59)
  • 阿里云Docker镜像加速器

    阿里云Docker镜像加速器详解: Docker 镜像 仓库 容器介绍 以及镜像仓库详解 访问 https://www.aliyun.com/ 搜索 “容器镜像服务”

    2024年04月25日
    浏览(34)
  • 国内 Docker 镜像加速器和国内公共镜像仓库那些事

    首先我们知道,全球最大的公共镜像仓库是 Docker 公司自己搭建的 Docker Hub,也是权威性最高的,里面包含了各种各样的官方镜像,Docker Hub 为每一个注册用户提供了个人镜像仓库服务,该个人镜像仓库是公共的。 以上都不是重点,重点是因为各种各样的原因,国内使用 Dock

    2024年02月05日
    浏览(39)
  • Docker基础(三)—配置镜像加速器

    我们的镜像加速器用阿里云来作为示例 1、首先,我们进入阿里云云原生官网(http://ttps://promotion.aliyun.com) 2、注册一个账号,不注册用淘宝账号也可以使用 3、点击控制台 4、选择容器镜像服务 5、选择个人版,有条件的话,可以选择企业版  6、选择创建个人版  7、创建后,

    2023年04月08日
    浏览(35)
  • docker配置阿里云镜像加速器

    docker配置阿里云镜像加速,可以极大的提高docker镜像下载速度,配置非常简单,了解一下 登录自己的阿里云账号,然后选择控制台 我是CentOS

    2024年02月11日
    浏览(40)
  • Docker入门到精通:Docker架构、镜像操作和容器操作

    本文深入探讨Docker的核心概念,包括容器化技术的演变、Docker架构、镜像与容器的操作,以及如何在Linux系统中安装和使用Docker。

    2024年02月06日
    浏览(30)
  • Docker概念、安装以及配置镜像加速器

    (给自己文章打个call)如果对于linux比较陌生的可以看一看这些文章 Linux安装MySQL、JDK(含环境变量配置)、Tomcat Linux介绍以及常用操作命令 Linux中vi编辑器使用及ps系统管理命令 (1)从VM与Docker框架中,直观上VM多了一层Guest OS,同时Hypervisor会对硬件资源进行虚拟化,docker直接

    2024年02月02日
    浏览(80)
  • Docker容器与虚拟化技术:Docker镜像创建、Dockerfile实例

    目录 一、理论 1.Docker镜像的创建方法 2.Docker镜像结构的分层 3.Dockerfile 案例 4.构建Systemctl镜像(基于SSH镜像) 5.构建Tomcat 镜像 6.构建Mysql镜像 二、实验 1.Docker镜像的创建 2. Dockerfile 案例 3.构建Systemctl镜像(基于SSH镜像) 三、问题 1.nginx网页打不开  2.Apache容器启动一直为Ex

    2024年02月12日
    浏览(43)
  • 【Docker】从零开始:6.配置镜像加速器

    镜像加速器是一个位于Docker Hub之前的缓存服务器,用于加速Docker镜像的下载。当我们配置了镜像加速器后,从Docker Hub下载镜像时,Docker将首先尝试从加速器服务器下载镜像,如果加速器服务器上没有该镜像,则会从Docker Hub下载。 Docker加速器是一种工具,可以加速Docker镜像的

    2024年02月05日
    浏览(38)
  • Centos7 配置Docker镜像加速器

    docker实战(一):centos7 yum安装docker docker实战(二):基础命令篇 docker实战(三):docker网络模式(超详细) docker实战(四):docker架构原理 docker实战(五):docker镜像及仓库配置 docker实战(六):docker 网络及数据卷设置 docker实战(七):docker 性质及版本选择 认知升维: 道、法、术、器、势   daemon.json

    2024年02月12日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包