知识点1--认识Docker

news2024/11/15 22:44:33

IT界2014年之前,对于服务器虚拟化的使用,有过一个流派,基于Windows server系统+VMware组成服务器集群,但是后期由于这样的使用方式维护成本相当高,比如服务器的序列、服务器台账以及服务器与服务器之间的切换等等,诸如此类的问题都需要人工去主导,所以这种流派渐渐的泯灭消失在正式环境开发中,如今只会在一些学习环境下见到这样的环境,就比如作者在2021年的时候上班的公司接了公家学校合同组建IT的相关专业,当时公司方面赞助学院微机教室的器材中,软件方面就是提供了一台华为的服务器,在这台服务器上搭的Windows Server 2008+vmware。

2014年以后,主流的正式开发中,所使用的虚拟化技术就是linux+docker+k8s,两者相比之间好处就在于系统支持上linux比WINDOWS更利于服务器的运行,同时docker将虚拟化的使用变得更简洁更轻量化,大大的简化了运维成本,而k8s是后面我们要介绍的一个东西,它其实是基于docker的一个脚手架,这个脚手架的作用就像我前面说的,用来解决服务器的序列、服务器故障切换等等的运维问题,它的运行是用逻辑单元pod,可以把pod看成我们开发好的一个大服务,一个pod里面包含着n个docker,这些docker承载着组成这个大服务的各种环境镜像。

言归正传,Docker它的本质是将某个服务做成镜像,用的时候实例化一个容器环境,有点开箱即用的味道。最直观的好处就是当我们开发一个东西后,拿到它的人不在需要一点一点的复刻运行环境,只需要拿到我们提供的Docker镜像就可以直接运行。

另一点好处启动快,我们在开发中常常用到VMware,但是该虚拟机软件下的虚拟机实例启动一次往往是分钟级的,但是Docker运行的虚拟容器的重启是秒级的。这里说的虚拟机实例虚拟容器有些差别,虽然vmware和docker都是虚拟化技术的软件,可VMware的虚拟机实例说的是一个完整的操作系统,而虚拟容器它本质上是一个被隔离的进程,其中运行了Docker镜像的实例对象。

在Docker的技术背景下生成了一个概念DevOps,它的核心思想是开发既运维,白话就是不要运维岗位了,开发使用Docker保证环境的维护,但是目前为止这个概念还不现实,不是说技术达不到,而是社会工作结构就不允许资本家怎么干。当然这种概念虽然不现实,但是它的本意是好的,它是为了更快速的交付和部署、更便捷的升级和容器伸缩、更简单的运维以及更高效的资源利用。

这里强调一下容器伸缩,其实也有一部分高效利用资源的意思,典型的例子就是阿里双十一、春运买票或者微博热点等业务背景下,需要大量的服务器资源,这个时候需要的资源可能动辄上千台服务器,你总不能去手动搭建吧?时间不说是否足够,人力成本就能拖垮你,就算真的搭建出来了,万一出现意外呢?最后不出现意外,使用结束这些资源后怎么办呢?放哪里不动等下一次用?

综上所述,Docker的优点也就体现出来了,轻量化秒级的快速启动速度、简单易用、活跃的社区,支撑统一的打包部署运行方案、镜像支持增量分发、易于构建良好的API、资源的利用尤其是内存和IO的开销。

大家在使用Docker的时候注意,Docker是用Go语言写的,而且出的比较晚,同时一般使用它都是在Linux上,当然Windows也可以,只是很少有人用,当前使用的CentOS中理论上只有6.5及其以上的版本可以运行Docker,因为Docker最低需要Linux的内核版本达到2.6.32-431或更高。

Docker的核心三大要素分为镜像、容器、仓库,其中镜像就和我们安装系统的ISO一个意思,是实例化容器时的模板。容器是镜像的实例。仓库是存放镜像的地方。

在这里插入图片描述
图看不懂没关系,知道Docker的三要素是什么就行。

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

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

相关文章

据说Linuxer都难忘的25个画面

虽然对 Linux 正式生日是哪天还有些争论,甚至 Linus Torvalds 认为在 1991 那一年有四个日子都可以算作 Linux 的生日。但是不管怎么说,Linux 已经 25 岁了,这里我们为您展示一下这 25 年来发生过的 25 件重大里程碑事件。 1991:L…

SpringMVC学习笔记二(获取Cookies、Session和Header、IDEA热部署)

目录 一、一些前置知识 二、SpringMVC获取cookies和session 🍑获取cookies和header 🍑获取session 三、SpringMVC热部署 📝添加框架支持 📝settings配置开启自动热部署 📝开启运行中热部署: &…

【Autopsy数字取证篇】Autopsy案例创建与镜像分析详细教程

【Autopsy数字取证篇】Autopsy案例创建与镜像分析详细教程 Autopsy是一款非常优秀且功能强大的免费开源数字取证分析工具。—【蘇小沐】 文章目录【Autopsy数字取证篇】Autopsy案例创建与镜像分析详细教程1.实验环境2.Autopsy下载安装(一)创建案例1.软件…

【简单易操作】图漾TM460-E2深度网络相机在ROS-melodic环境下的配置过程

目录一、配置的环境二、下载内容及链接三、ubuntu环境配置下载 Camport3 SDK安装依赖编译运行四、安装OpenNI2套件下载 Camport3 OpenNI2 SDK安装 Camport3 OpenNI2 SDK五、ROS平台安装下载 Camport3 ROS SDK编译配置环境变量运行一、配置的环境 相机型号:TM460-E2…

OpenRASP agent源码分析

目录 前言 准备 源码分析 1. manifest 2. agent分析 3. agent卸载逻辑 总结 前言 笔者在很早前写了(231条消息) OpenRASP Java应用自我保护使用_fenglllle的博客-CSDN博客 实际上很多商业版的rasp工具都是基于OpenRASP的灵感来的,主要就是对核心的Java类通过…

堆(二叉堆)-优先队列-数据结构和算法(Java)

文章目录1 概述1.1 定义1.2 二叉堆表示法2 API3 堆相关算法3.1 上浮(由下至上的堆有序化)3.2 下沉(由上至下的堆有序化)3.3 插入元素3.4 删除最大元素4 实现5 性能和分析5.1 调整数组的大小5.2 元素的不可变性6 简单测试6 后记1 概…

2006-2020年全国31省人口老龄化水平

2006-2020年全国31省人口老龄化 1、时间为2006-2020年 2、来源:人口与就业年鉴 3、数据缺失情况说明: 其中2010年存在缺失,采用线性插值法进行填补,内含原始数据、线性插值 4、计算说明:以城镇地区老年抚养比衡量…

uImage的制作过程详解

1、uImage镜像介绍 参考博客:《vmlinuz/vmlinux、Image、zImage与uImage的区别》; 2、uImage镜像的制作 2.1、mkimage工具介绍 参考博客:《uImage的制作工具mkimage详解(源码编译、使用方法、添加的头解析、uImage的制作)》; 2.2…

软路由搭建:工控机(3865U)安装esxi并在esxi上创建iStoreOS做主路由(网卡直通)

一、硬件介绍 1、工控机(3865U) CPU:3865U 内存:8G 硬盘:120G 网卡:六口网卡 2、无线路由器(荣耀路由器pro2) 3、主机 下载资料、制作启动盘、系统设置 4、U盘 至少8G以上 …

ConcurrentHashMap 1.7与1.8的区别

ConcurrentHashMap 与HashMap和Hashtable 最大的不同在于:put和 get 两次Hash到达指定的HashEntry,第一次hash到达Segment,第二次到达Segment里面的Entry,然后在遍历entry链表 从1.7到1.8版本,由于HashEntry从链表 变成了红黑树所以 concurr…

Python Gui之tkinter(下)

6.Radiobutton单按按钮 Radiobutton控件用于选择同一组单选按钮中的一个。Radiobutton可以显示文本,也可以显示图像。 7.Checkbutton复选按钮 Checkbutton控件用于选择多个按钮的情况。Checkbutton可以显示文本,也可以显示图像。 经典的Gui类的写法&a…

关于liunx 宝塔运行php项目

文章目录前言一、申请liunx服务器安装宝塔环境二、安装php看你自己安装需要的版本三.php文件创建四.数据库创建五.访问项目就可以了前言 自己研究学习,大佬勿喷 一、申请liunx服务器安装宝塔环境 我是线上安装的都一样看个人习惯爱好吧 等待安装完成提示地址和账…

Java基础—重新抛出异常

重新抛出异常 在catch块内处理完后,可以重新抛出异常,异常可以是原来的,也可以是新建的,如下所示: try{ //可能触发异常的代码 }catch(NumberFormatException e){ System.out.println("not valid numbe…

电子印章结构以及规范讲解

前言 为了确保电子印章的完整性、不可伪造性,以及合法用户才能使用,需要定义一个安全的电子印章数据格式,通过数字签名,将印章图像数据与签章者等印章属性进行安全绑定,形成安全电子印章 电子印章:一种由…

MVVM与Vue响应式的实现

Vue的响应式实现原理 MVVM M:模型 》data中的数据 V:视图 》模板 VM:视图模型 》Vue实例对象 ViewModel是一个中间的桥梁将视图View与模型Model连接起来,ViewModel内部通过数据绑定,实现数据变化,视图发…

链接装载(一)虚拟地址与物理地址

文章目录一、基本概念二、一个基本问题三、程序的执行四、从堆中分配的数据的逻辑地址一、基本概念 当我们写出一个程序,即便是最基本的 Hello World,都需要经过 预处理、编译、汇编、链接才能生成最终的可执行文件。 预处理: 预处理过程主…

spring ioc的循环依赖问题

spring ioc的循环依赖问题什么是循环依赖spring中循环依赖的场景通过构造函数注入时的循环依赖通过setter或Autowired注入时的循环依赖循环依赖的处理机制原型bean循环依赖单例bean通过构造函数注入循环依赖单例bean通过setter或者Autowired注入的循环依赖三级缓存对象的创建分…

Metasploit 操作及内网 Pivot图文教程

目录 一、metasploit 简介 二、 基本使用 三、 使用 encoders 四、pivot 技术 一、metasploit 简介 Metasploit 是一款开源的安全漏洞检测工具,集成了丰富的渗透测试工具,深受安 全工作者喜爱。官方网站:www.metasploit.com 本案例将以图…

OS-调度

调度 多个程序在并发的情况下执行,最大化CPU利用率,同时要保证一定的公平性 调度的时机 五种情况: Running -> Waiting:例如等待I/ORunning -> Ready: interupt,计时器到时间了Running -> TerminatedWait…

我把Idea给改了,看看有没有你常用的功能,没有,你告诉我,我来改

改造的目标 时隔2个多月的研发,11月25日,终于把Idea插件BG-BOOM的1.1.0版本搞上线了,本次更新勇哥也是百忙之中挤时间,加班加点开发为粉丝,目的也主要是帮助大家提升开发效率,有更多摸鱼和内卷时间&#x…