云原生——Docker容器化实战

news2024/11/17 9:43:36

❄️作者介绍:奇妙的大歪❄️

🎀个人名言:但行前路,不负韶华!🎀

🐽个人简介:云计算网络运维专业人员🐽

前言

       "Docker"一词指代了多个概念,包括开源社区项目、开源项目使用的工具、主导支持此类项目的公司 Docker Inc.,以及该公司官方支持的工具。这些技术和公司的同名可能会造成混淆。

 目录

为什么需要Docker容器?

Docker容器具有以下三大特点:

Docker容器 VS VM

Docker容器是如何工作的?

Docker的三大组成要素:

​编辑Docker运行流程


为什么需要Docker容器?

虚拟机(Virtual Machine,简称VM)的发展,减轻了企业对硬件资源的依赖,它将一台物理设备虚拟为多个逻辑设备,每个逻辑设备可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高设备的工作效率。然而,传统VM需要安装操作系统才能执行应用程序,占用系统资源过多。多数情况下,用户只需要运行简单的应用程序,采用VM技术操作繁琐且造成资源浪费。倘若需要迁移应用服务程序,则需迁移整个VM,因此企业迫切需要轻量级的虚拟化技术。

容器,就是一种轻量级的虚拟化技术,目的和虚拟机一样,都是为了创造“隔离环境”。但是它不像VM采用操作系统级的资源隔离,容器采用的是进程级的系统隔离。Docker作为创建容器的主流工具,近年来迅速发展,它的优势在于可以让开发者将企业需要的各种应用及应用依赖文件封装在Docker镜像文件中,然后在任何物理设备(Linux设备或Window设备等)上安装运行实现虚拟化,让应用程序彻底脱离底层设备,可以在物理机之间灵活迁移部署,使运维工程师摆脱了繁琐的环境部署,极大的提高了工作效率,同时减少了部署过程中的潜在风险。

 

Docker容器具有以下三大特点:

  • 轻量化:一台主机上运行的多个Docker容器可以共享主机操作系统内核;启动迅速,只需占用很少的计算和内存资源。
  • 标准开放:Docker容器基于开放式标准,能够在所有主流Linux版本、Microsoft Windows以及包括VM、裸机服务器和云在内的任何基础设施上运行。
  • 安全可靠:Docker赋予应用的隔离性不仅限于彼此隔离,还独立于底层的基础设施。Docker默认提供最强的隔离,因此应用出现问题,也只是单个容器的问题,而不会波及到整台主机。

Docker容器 VS VM

Docker容器和传统VM技术,在技术实现上有所不同。下图显示的是VM与Docker容器的逻辑组成:

  • VM:使用Hypervisor提供虚拟机的运行平台,管理每个VM中操作系统的运行。每个VM都要有自己的操作系统、应用程序和必要的依赖文件等。
  • Docker容器:使用Docker引擎进行调度和隔离,提高了资源利用率,在相同硬件能力下可以运行更多的容器实例;每个容器拥有自己的隔离化用户空间。


虚拟机与Docker容器对比

相较于VM,Docker容器作为一种轻量级的虚拟化方式,在应用方面具有以下显著优势:

  • Docker容器可以在秒级时间内快速启动和停止,相较传统虚拟机显著提升。
  • Docker容器对系统资源要求低,数千个Docker容器可同时运行在同一个主机上。
  • Docker容器通过类似Git的操作来方便用户获取和更新应用镜像。
  • Docker容器通过Dockerfile配置文件实现自动化创建和灵活部署,提高工作效率。
  • Docker容器除了运行其中的应用之外,基本不消耗额外的系统资源,保证应用性能的同时,尽量减小系统开销。

下图可直观了解Docker容器与传统VM方式的区别:

 Docker容器与传统VM的区对比

Docker容器是如何工作的?

Docker的三大组成要素:

  • 镜像:Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的配置参数。 镜像不包含任何动态数据,其内容在构建之后也不会被改变。镜像可以用来创建Docker容器,用户可以使用设备上已有的镜像来安装多个相同的Docker容器。
  • 容器:镜像创建的运行实例,Docker利用容器来运行应用。每个容器都是相互隔离的、保证安全的平台。我们可以把容器看做是一个轻量级的Linux运行环境。
  • 镜像仓库:集中存放镜像文件的地方。用户创建完镜像后,可以将其上传到公共仓库或者私有仓库,需要在另一台主机上使用该镜像时,只需要从仓库上下载即可。

Docker容器的运行逻辑如下图所示,Docker使用客户端/服务器 (C/S) 架构模式,Docker守护进程(Docker daemon)作为Server端接收Docker客户端的请求,并负责创建、运行和分发Docker容器。Docker守护进程一般在Docker主机后台运行,用户使用Docker客户端直接跟Docker守护进程进行信息交互。


Docker运行流程

其中:

  • Docker客户端:用于和Docker守护进程(Docker Daemon)建立通信的客户端。Docker客户端只需要向Docker服务器或者守护进程发出请求(Docker构建、Docker拉取和Docker启动等指令),服务器或者守护进程将完成所有工作并返回结果。
    • 如橙色流程所示,执行Docker构建指令会根据Docker文件构建一个镜像存放于本地Docker主机。
    • 如蓝色流程所示,执行Docker拉取指令会从云端镜像仓库拉取镜像至本地Docker主机或将本地镜像推送至远端镜像仓库。
    • 如黑色流程所示,执行Docker启动指令会将镜像安装至容器并启动容器。
  • Docker主机:一个物理或者虚拟的机器用于执行 Docker守护进程和容器。
  • Docker守护进程:接收并处理Docker客户端发送的请求,监测Docker API的请求和管理Docker对象,比如镜像、容器、网络和数据卷。

EC-IoT解决方案基于“边缘智能+云化管理”平台,物联网关开放边缘计算能力,快速适配不同行业边缘智能数据处理需求,实现关键业务本地毫秒级实时响应,完成数据本地聚合优化,高价值数据主动回传云端。

边缘计算网关基于“硬件平台化,业务APP化”的设计理念,终端功能由APP软件定义,用户基于基础服务接口开发自定义APP,并实现在边缘计算网关的灵活部署,快速适应业务需求复杂多变的物联场景。边缘计算网关支持部署Docker容器,用户可在部署的容器上安装自己的业务APP,同时网关设备提供各种eSDK接口供容器和APP调用其资源。

 EC-IoT解决方案

 网关开放性

🎀看都看到这里啦留个三连再走吧!!你们的支持就是我的动力!!!🎀🎀🎀

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/705811.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java9模块化学习总结

文章目录 JDK9 模块化新特性JDK9 模块化入门案例JDK9 模块化知识图谱1)模块化语法2)模块化迁移 小结 JDK9 模块化新特性 在 JDK9 之前,在日常开发中可能会遇到过以下问题: 工程依赖工具包的内部实现类。比如 sun.misc.BASE64Enc…

Wi-Fi 联盟的协议和标准

关于 WI-FI Wi-Fi技术(Wireless Fidelity)是一种用于在无线局域网(WLAN)中进行无线数据通信的技术。它基于IEEE 802.11标准,并使用无线电波进行数据传输,使设备能够通过无线信号进行互联和互通。 Wi-Fi协…

ubuntu22.04配置双网卡双静态ip不通网段访问服务器的相同服务

ubuntu22.04配置双网卡双静态ip不通网段访问服务器的相同服务 技术博客 http://idea.coderyj.com/ 1.需求 南方电网网段(假如)是 192.168.3.1的网段机器人服务器在隧道ip是 172.16.1.1网段要求这2个网段都能访问到服务器上的服务 2.解决方案 服务器上配置双网卡 双ip 以ubun…

力扣 -- 剑指offer47.礼物的最大价值

题目链接&#xff1a;剑指 Offer 47. 礼物的最大价值 - 力扣&#xff08;LeetCode&#xff09; 下面是用动态规划的思想对这道题的详细解答&#xff0c;相信各位小伙伴都能看懂并且掌握这一道题的。 参考代码&#xff1a; class Solution { public:int maxValue(vector<ve…

AutoSAR系列讲解(入门篇)4.5-BSW的Mode Management功能

一、架构与术语解释 Mode Management&#xff1a;模式管理&#xff0c;可以理解为对状态的管理&#xff08;比如ECU的上电、下电和休眠&#xff1b;CAN通讯的开启和关闭都是状态&#xff09;。主要管理的对象有ECU、BSW和COM&#xff08;通信中又可以细分很多&#xff09;。由…

概率论--数学期望与方差--协方差(详解)

目录 数学期望与方差 离散型随机变量的数学期望 注意 连续型随机变量的数学期望 方差 常用随机变量服从的分布 二项分布 正态分布 随机向量与随机变量的独立性 随机向量 随机变量的独立性 协方差 协方差的定义 协方差的意义 协方差矩阵 数学期望与方差 离散型随机…

STM32单片机(五)第二节:EXTI外部中断练习2(旋转编码器计次)

❤️ 专栏简介&#xff1a;本专栏记录了从零学习单片机的过程&#xff0c;其中包括51单片机和STM32单片机两部分&#xff1b;建议先学习51单片机&#xff0c;其是STM32等高级单片机的基础&#xff1b;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 &#xff1a;适用于想要…

C语言编程语法—结构

C 的令牌&#xff08;Tokens&#xff09; C 程序由各种令牌组成&#xff0c;令牌可以是关键字、标识符、常量、字符串值&#xff0c;或者是一个符号。例如&#xff0c;下面的 C 语句包括五个令牌&#xff1a; printf("Hello,World! \n"); 这五个令牌分别是&#x…

【Servlet学习六】Cookie 与Session 实现登录与上传文件

目录 一、Cookie与Session&#xff08;掌握&#xff09; &#x1f308;1、Cookie是什么&#xff1f; &#x1f308;2、Session是什么&#xff1f; 二、代码功能演示 &#x1f308;1、实现登录功能&#xff08;掌握&#xff09; &#x1f308;2、实现上传文件功能&#xf…

基于深度学习的高精度扑克牌检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要&#xff1a;基于深度学习的高精度扑克牌检测识别系统可用于日常生活中或野外来检测与定位扑克牌目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的扑克牌目标检测识别&#xff0c;另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5目标检…

打造专属个人模型-私有独立离线模型部署-阿里云GPU服务器配置

阿里云有免费的机器学习 GPU 服务器&#xff0c;免费试用活动页https://free.aliyun.com只要没有申请过 PAI-DSW 资源的新老用户皆可申请 5000CU 的免费额度&#xff0c;3个月内使用。 选择第一个进行立即试用 可以看到试用的界面 如果遇到下面的错误&#xff0c;当前账号没有权…

【跳棋】跳棋游戏-多人游戏-微信小程序开发流程详解

看到跳棋游戏&#xff0c;一个2到6人可一起玩的游戏&#xff0c;于是联想起&#xff0c;自己上小学时候陪同学们玩过的弹珠游戏&#xff0c;是不是跟跳棋游戏很像呢&#xff0c;看了跳棋玩法&#xff0c;有兴趣就研究&#xff0c;这里把跳棋游戏给弄出来了&#xff0c;想知道地…

com.alibaba.druid.pool.DruidDataSource报错(显示红色)

springbootAlibaba项目,application.yml配置如下&#xff1a; 圈中的地方报错&#xff0c;pom.xml也引入了druid依赖,如图&#xff1a; 最后改为&#xff1a; 解决。

Halcon学习之一维测量(2)

在Halcon学习之一维测量(1)文章中,我们介绍了直线测量中的基于边缘对的,还有一种是不基于边缘对的,而是基于边缘的。 接下来讲解就以,Halcon自带的例子,芯片pin引脚测量为例子,主要测量引脚的数量,引脚的平均宽度,还有引脚之间的距离: 源码: * Pin Measurement…

攻防世界-Crypto-Normal_RSA

题目描述&#xff1a;下载附件后&#xff0c;附件中只有两个文件&#xff0c;一个是加密后的密钥&#xff0c;一个是公钥文件 背景知识&#xff1a;RSA加密算法 现在相当于给出了密文和公钥&#xff0c;需要我们去求解明文 1. 思路分析 既然要解密&#xff0c;那么必须要获取…

【数据结构与算法】树和二叉树练习题(选择填空)

【数据结构与算法】树和二叉树练习题&#xff1a;选择填空类型 Ⅰ.知前序和中序推理后序Ⅱ.知后序和中序推理前序Ⅲ.深度/广度遍历Ⅳ.通过遍历推理树的形状Ⅴ.树节点问题 Ⅰ.知前序和中序推理后序 题目名称&#xff1a; 1.已知某二叉树的前序遍历序列为5 7 4 9 6 2 1&#xff…

ChatGPT实战:项目管理

人工智能有可能彻底改变许多行业&#xff0c;包括项目管理&#xff0c;及时了解最新技术以及它如何影响你的工作至关重要&#xff0c;因为学习好项目管理&#xff0c;不管你能不能做项目经理&#xff0c;在生活、工作的方面方面都会享受到懂得项目管理后带来的收益。 下面我们借…

np.averag的运算规则

今天写代码的时候&#xff0c;计算加权平均&#xff0c;一直没有搞懂np.average是怎么运算的&#xff0c;做个笔记记录一下&#xff1a; 创建一个&#xff08;3,4,5&#xff09;维度的np数组&#xff0c;然后在创建一个[1,0.5,1]的权重数组&#xff0c;计算他们的加权平均&…

Spring Boot Actuator实现应用监控

1、Spring Boot Actuator实现应用监控 前面的例子中&#xff0c;我们学习的都是 Prometheus 自身的内容&#xff0c;即监控的都是机器或者系统层面的指标。那么如果我 们需要对 Java 应用做监控&#xff0c;例如&#xff1a;监控 JVM 的信息&#xff0c;监控 Spring Bean 的信…

如何实现多 Tab 同步登陆和退出

一. 场景再现 前两天接到一个需求&#xff0c;要求实现类似于 B站 的那种&#xff0c;当我同时打开多个 Tab 标签的时候&#xff0c;如果我在某一个窗口退出了&#xff0c;那么其它窗口的登陆状态也需要同步退出。如下图&#xff0c;我同时打开了两个 tab 。 当我点击其中一个…