【云原生】聊聊为什么需要docker以及其基础架构

news2025/1/11 11:43:37

为什么需要docker

在没有docker之前,我们开发、测试、生产其实是根据不同的服务器进行配置的,很可能因为软件配置不同而导致的生产事故,那么如果能较好的解决软件和配置等封装成一个可运行的软件,无需关注配置,那么是不是就可以减轻开发运维的负担呢。服务器配置环境多份部署。
在这里插入图片描述

口号:Build,Ship and Run Any App,Anywhere。 一次镜像,处处运行
在这里插入图片描述
Kubernetes事实上的云原生操作系统,是构建现代应用的基石。容器编排技术
在这里插入图片描述

基础架构

在这里插入图片描述
Linux容器技术的出现就解决了这样一个问题,而 Docker 就是在它的基础上发展过来的。将应用打成镜像,通过镜像成为运行在Docker容器上面的实例,而 Docker容器在任何操作系统上都是一致的,这就实现了跨平台、跨服务器。只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了操作。

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

整体流程: 我们本地安装的其实是docker client,他会与Docker Engine的后台服务 Docker daemon通信,而镜像存储在远端的仓库Registry里,客户端不能直接访问镜像仓库。
所以实际上管理镜像、容器的是Docker daemon,进行从远端拉镜像,本地存储镜像,生成容器,管理容器等所有功能。

hello world 上路

docker run hello-world

在这里插入图片描述
整体流程如下:
在这里插入图片描述
其实整体流程就是先从本级查找镜像,如果有直接以镜像运行容器实例。如果没有的话,就从docker hub上查找,没有报错,有的话 进行下载,然后运行。

基本命令

docker version  //查看命令
docker run hello-world //运行hello world
systemctl stop docker  //停止
systemctl start docker  //启动
systemctl restart docker //重启

在这里插入图片描述

虚拟机与容器

虚拟机其实是直接在操作系统上构建的一个操作系统,但是因为虚拟机的缺点:资源占用多,冗余步骤多,启动慢。

比较了 Docker 和传统虚拟化方式的不同之处:

  • 传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;
  • 容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。
  • 每个容器之间互相隔离,每个容器有自己的文件系统 ,容器之间进程不会相互影响,能区分计算资源。
    在这里插入图片描述

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

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

相关文章

<十三>objectARX开发:模拟实现CAD的移动Move命令

一、目的 实现类似于CAD的移动命令,选择对象,移动到指定位置,移动过程中对象跟随鼠标移动。效果如下: 二、关键步骤 选择对象,打开实体判断类型:acedEntSel()、acdbOpenObject()、isKindOf()。指定基点:acedGetPoint()。移动模型,追踪光标移动对象实体:acedGrRead()…

gitee生成公钥和远程仓库与本地仓库使用验证

参考文档: https://help.gitee.com/base/account/SSH%E5%85%AC%E9%92%A5%E8%AE%BE%E7%BD%AE(1)通过命令ssh-keygen 生成SSH key -t key类型 -c注释 ssh-keygen -t ed25519 -C "Gitee SSH Key" (2)按三次回车 (3)查看生成的 SSH 公钥和私钥: …

SOLIDWORKS Simulation:优化设计的利器

SOLIDWORKS Simulation是SOLIDWORKS软件家族中的一员,是一款强大的工程仿真分析工具。它通过模拟和分析,帮助工程师们更好地理解和评估设计方案的性能,并通过优化设计来提高产品质量和效率。这篇文章我们将介绍SOLIDWORKS Simulation的特点、…

Android问题笔记 - kotlin中使用Java接口,报错Parameter specified as non-null is null 快速解决

点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&…

机器学习西瓜书+南瓜书吃瓜教程学习笔记第五章神经网络

来自吃瓜教程】《机器学习公式详解》(南瓜书)与西瓜书公式推导直播合集第五章神经网络 和周志华老师的机器学习西瓜书 以下是我的学习笔记: 神经网络: 神经网络是由具有适应性的简单单元组成的广泛并行互联的网络,它的…

MySQL常用日期查询统计总结

MySQL常用日期统计总结 一、准备工作 表结构如下: CREATE TABLE order_info (id int NOT NULL AUTO_INCREMENT,info varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,time datetime NULL DEFAULT NULL,PRIMARY KEY (id) USING BTRE…

联想电脑打开exe提示要在Microsoft Store中搜索应用

问题: 你需要为此任务安装应用。 是否要在Microsoft Store中搜索一个? 如图: 出现此情况,仅需要做如下操作,在要打开的exe文件上右键,属性: 如图箭头所示,点击“解除锁定”出现对钩&…

【软件设计师-从小白到大牛】上午题基础篇:第二章 操作系统

文章目录 前言章节提要一、进程管理1、进程的状态2、前趋图3、进程的同步与互斥4、PV操作6、PV操作与前趋图7、死锁问题进程资源图(补充)真题链接 二、存储管理1、分区存储组织2、页式存储组织3、段式存储组织4、段页式存储组织5、快表6、页面置换算法单…

linux 约束

linux 约束 1、约束的概念1.1什么是约束1.2约束的优劣势 2、约束的作用3、约束的分类4、约束的应用场景5、约束的管理5.1创建5.2查看5.3插入5.4删除 6、总结 1、约束的概念 1.1什么是约束 在关系型数据库中,约束是用于限制表中数据规则的一种机制。它可以确保表中…

第一百五十三回 如何实现滑动窗口

文章目录 概念介绍实现方法示例代码 我们在上一章回中介绍了自定义组件实现游戏摇杆相关的内容,本章回中将介绍 如何实现滑动窗口.闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在本章回中介绍的滑动窗口表示在屏幕底部向上滑动时弹出一个窗口&a…

数量关系(刘文超)

解题技巧 代入排除法 数字特性法 整除特性 比例倍数特性(找比例,比例不明显时找等式) 看不懂式子时,把所有的信息像表格一样列出来 看不懂式子时,把所有的信息像表格一样列出来

智慧公厕是提升公共厕所管理服务能力的创新举措

在城市化进程加速的今天,公共厕所的管理问题成为让人头疼的难题。随着智慧科技的发展,智慧公厕应运而生,为提升公共厕所综合管理服务能力提供了新思路和解决方案。本文将以智慧公厕领先厂家广州中期科技有限公司,大量精品案例项目…

基于STM32和LORA组网的养老院智能控制系统设计(第十八届研电赛)

一、整体功能 数据采集从机1采集烟雾浓度,PM2.5浓度,甲醛浓度;从机2采集温湿度,光照强度,噪声强度,老人体感温度;从机3收集厨房饮用水的TDS值。3个数据采集从机将采集到的数据显示在本地OLED屏…

idea2023.2.2修改代码区中文字体

使用idea编译代码时,中文默认使用宋体进行显示,可通过以下方式进行修改。 Editor -> Font -> Fallback font

“微信小号”注册攻略!无需绑定手机号也能注册一个新微信

微信作为移动互联时代最重要的App之一,绝大多数人的生活、工作都离不开它。 随着软件普及率的增加,不少人苦恼于工作、生活都在一个微信号上。因此,不少用户会选择注册用于工作和生活的两个单独微信账号来使用。 然而,此前一个手机…

Spring Cloud阿里的nacos注册中心的使用以及Feign远程调用

原文档 https://github.com/alibaba/spring-cloud-alibaba/blob/2022.x/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/readme-zh.md 注册中心nacos使用步骤 添加依赖 <!-- 服务注册/发现--><dependency><groupId>com.al…

Java中如何将String类型的2023年09月21日这个值变成DATE相关的类型

Java中如何将String类型的2023年09月21日这个值变成DATE 可以通过使用Java中的SimpleDateFormat类完成。以下是一个例子&#xff1a; import java.text.SimpleDateFormat; import java.text.ParseException; import java.util.Date;public class Main {public static void ma…

modbusTCP【codesys】

1添加控制器【控制器】&#xff1a; 右击左侧树型菜单【Device】→选择【添加设备】&#xff0c;在弹出对话框中下拉选择【以太网适配器】下的【Ethernet】&#xff0c;最后点击【添加设备】。 注意固件能支持的版本。我的是3.5.17 2添加主站【主站】 3添加从站【从站】 双…

如何将原始按照word为单位索引标识的数据集修改为以char单位

目录 问题描述&#xff1a; 问题解决&#xff1a; 问题描述&#xff1a; 原始数据集中&#xff0c;数据的标注是以word为单位&#xff0c;且计数从1开始的。如下图&#xff1a; 如何修改为以char为单位的&#xff0c;从0开始计数的数据格式&#xff1a; 问题解决&#xff1a;…