首页 > 其他分享 >Docker | 初次认识Docker并理解Docker中的镜像、容器、仓库概念

Docker | 初次认识Docker并理解Docker中的镜像、容器、仓库概念

时间:2024-10-25 18:17:20浏览次数:9  
标签:容器 仓库 虚拟机 公寓 镜像 Docker

在这里插入图片描述

认识Docker

1. Docker简介

1.1 是什么

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • docker理念
    一次镜像 处处运行
    在这里插入图片描述
    在这里插入图片描述

解决了运行环境和配置问题的软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术

1.2 容器与虚拟机比较

传统虚拟机技术

在这里插入图片描述
在这里插入图片描述

  • 虚拟机的缺点:
  1. 资源占用多
  2. 冗余步骤多
  3. 启动慢
容器虚拟化技术

在这里插入图片描述
在这里插入图片描述

对比

Docker容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统
虚拟机则是在硬件层面实现虚拟化。与传统的虚拟机相比,Docker优势体现为启动速
度快、占用体积小。

在这里插入图片描述

容器和虚拟机有什么不同?

在这里插入图片描述
容器(Containers)和虚拟机(Virtual Machines,简称VMs)都是用于隔离和运行应用程序的技术,通俗来说:

  1. 容器 就像是一套可以拎包入住的公寓。你只需要把自己的行李(应用程序和它需要的东西)带进来,就可以开始生活(运行程序)。不同的公寓(容器)之间是隔离的,不会互相干扰。

  2. 虚拟机 则像是一栋每层都有独立公寓的大楼。每个公寓(虚拟机)里面不仅有房间(应用程序),还有自己的一套水电系统(操作系统)和家具(库文件)。这意味着每个虚拟机都需要更多的空间和维护。

  3. 资源消耗:容器因为共享大楼的水电系统,所以更节省资源。虚拟机则需要为每个公寓都配备一套,所以消耗的资源更多。

  4. 启动速度:拎包入住的公寓(容器)很快就能开始使用,而配备完整水电系统的公寓(虚拟机)则需要更多时间来准备。

  5. 移动性:拎包入住的公寓(容器)更容易搬家,因为只需要带着行李(应用程序)走就行。而配备有自己水电系统的公寓(虚拟机)搬家起来就复杂多了。

  6. 安全性:每个独立公寓(虚拟机)都有自己的门锁和安全系统,所以安全性更高。而拎包入住的公寓(容器)虽然也有门锁,但它们用的是同一套大楼的水电系统,所以理论上存在一定的安全风险。

  7. 用途:如果你只是短期居住,或者经常需要搬家,拎包入住的公寓(容器)更适合你。如果你打算长期居住,并且需要完全控制自己的居住环境,那么配备有自己水电系统的公寓(虚拟机)可能更合适。

简而言之,容器更轻量、灵活,适合现代快速发展的应用程序部署;虚拟机则更重、更安全,适合需要完全隔离环境的传统应用。

1.3 能干嘛

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.4 安装⭐

在这里插入图片描述

1.5 Docker的基本组成⭐⭐

  • 基本组成

镜像(image)
容器(container)
仓库(repository)

好的,让我们用一些简单的比喻来通俗理解这些术语:

  1. 镜像(Image)

    • 想象一下,你有一个完美的蛋糕模具。这个模具有特定的形状和设计,当你把蛋糕糊倒进去,它就会创造出一个外观和结构都符合模具设计的蛋糕。在容器的世界里,镜像就像这个蛋糕模具,它包含了创建一个容器所需的所有信息和指令,比如操作系统、应用程序及其依赖等。镜像是不可变的,也就是说,一旦创建,它的内容就不会改变。
  2. 容器(Container)

    • 继续用蛋糕的比喻,容器就像是用模具做出来的那个具体的蛋糕。每个蛋糕(容器)都是根据模具(镜像)做出来的,但它们是独立的,可以被移动、存储和分享。容器是镜像的运行实例,它可以被启动、停止、删除,而且每个容器都有自己的生命周期。就像每个蛋糕都是独一无二的,每个容器也可以根据需要进行个性化配置。
  3. 仓库(Repository)

    • 想象一下,你有一个巨大的蛋糕展示柜,里面存放着各种各样的蛋糕模具。这个展示柜就是仓库。在容器技术中,仓库是用来存储和管理镜像的地方。你可以把自己的镜像放到仓库中,也可以从仓库中取出镜像来创建容器。仓库可以是本地的,也可以是远程的,比如Docker Hub这样的公共仓库,或者你自己的私有仓库。

简单来说:

  • 镜像是创建容器的蓝图或模板。
  • 容器是镜像的实例,是真正运行的实体。
  • 仓库是存放和管理这些镜像的地方。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一般公开仓库使用阿里云和网易云。
在这里插入图片描述

Docker平台架构图解(入门版)

在这里插入图片描述

Docker工作原理

Docker是一个Client-Server结构的系统,Docker守护进程运行在主机上,然后通过Socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器。容器,是一个运行时环境,就是我们前面说到的集装箱。可以对比mysql演示对比讲解

在这里插入图片描述

Docker平台架构图解架构版(深入版)

Docker是一个C/S模式的架构,后端是一个松耦合架构,众多模块各司其职。
在这里插入图片描述

在这里插入图片描述
太深入了不懂链接放在这里:
图解 Docker 架构

标签:容器,仓库,虚拟机,公寓,镜像,Docker
From: https://blog.csdn.net/HG0724/article/details/143207981

相关文章

  • 镜像和复制的区别
    在数据管理和信息技术领域,镜像和复制是两种常用的数据保护和冗余策略。尽管它们的目的相似,即确保数据的安全和可访问性,但它们在实现方法、应用场景和性能方面存在显著差异。本文旨在探讨镜像和复制之间的主要区别,包括:1.技术定义和基本概念;2.实施方式和过程;3.数据一致性和恢复时间......
  • kubernetes【k8s介绍】【快速部署应用,管理容器】
    k8s提供:集中式管理集群的方法,也可快速部署应用1.关于部署方案2.什么时候需要k8s当你的应用只是跑在一台机器,直接一个docker+docker-compose就够了,方便轻松;当你的应用需要跑在3,4台机器上,你依旧可以使用每台机器单独配置运行环境+负载均衡器;当你的应用需要跑在10,20台机器......
  • 【容器】容器与虚拟机对比:全面解析与应用指南
    目录引言1.基本概念1.1容器1.2虚拟机(VM)2.架构比较3.性能比较3.1启动时间和资源消耗3.2性能指标4.用例场景4.1微服务架构4.2开发与测试4.3大规模部署5.安全性比较5.1容器安全性5.2虚拟机安全性6.生态系统6.1容器生态6.2虚拟机生态7.选择指南7.1选......
  • 处理容器报错:[ERROR] .. Get “http://safeline-fvm/skynetinto“: dial tp: lookup s
    雷池社区版(WAF)是基于容器部署的在容器化应用的部署和运行过程中,我们常常会遇到各种报错信息。其中,形如“[ERROR]detect/skynet.go:114Get“http://safeline-fvm/skynetinto":dialtp:lookupsafeline-fvmon127.0.0.11:53:servermisbehaving”以及“panic:Get......
  • 如何使用Docker在前端开发中
    ​​Docker在前端开发中的应用可以归纳为以下几点:一、实现环境的一致性和隔离;二、快速部署和测试前端应用;三、与后端服务集成,确保协同效率;四、管理和维护前端开发工具;五、Docker的优化与前端性能提升。接下来,让我们了解如何在前端开发中利用Docker来简化工作流程。一、实现环......
  • 第44篇 正确删除容器和镜像的方式
    使用正确的命令删除容器和镜像1.先查看正在运行的容器,找到容器id【容器id取前三位数】,删除容器1.1查看运行容器dockerps-aStatus是UP表示容器正在运行直接删除容器会报错,先停止容器的运行1.2停止正在运行的容器dockerstop容器id前三位查看容器状态,Status是Exi......
  • 在K8S中,每个 Pod 中有一个特殊的 Pause 容器能否去除,原因是什么?
    在Kubernetes(K8s)中,每个Pod中有一个特殊的Pause容器,这个容器是不能被去除的,原因如下:1.Pause容器的功能网络命名空间持有者:Pause容器在Pod中充当网络命名空间的主要进程,它创建了一个网络命名空间,并在其中设置Pod的网络配置,如IP地址、网络接口和路由规则。Pod中的其他容器可以......
  • Docker:镜像
    Docker:镜像Docker架构registry镜像仓库命令dockerlogindockerpulldockerpushdockerlogoutimage镜像命令dockerimagesdockertagdockerrmidockersavedockerloaddockerimageinspectdockerhistorydockerimagepruneDocker架构Docker使用C/S架构,......
  • Docker部署及项目的生命周期
    目标了解传统项目生命周期的阶段特点了解新型项目生命周期的特点了解部署方案的一般流程1.项目生命周期​ 世间万物皆有其生命,软件项目也是如此。随着互联网的发展,软件项目的生命周期也发生了很大的变化,为了更好的让大家理解软件项目,项目生命周期有狭义(具体)、广义(缘起/缘......
  • containerd 配置镜像加速
    介绍kubernetes从v1.24开始默认使用containerd,需要修改containerd的配置文件,才能让pod的镜像加速。containerd加速配置文件路径/etc/containerd/config.toml,每次修改配置文件,都需要执行systemctlrestartcontainerd.service或servicecontainerdrestart命令重启contain......