虚拟化及Docker基础

news2024/9/22 16:43:50

一、虚拟化

1.1 云端

1.2 云计算服务模式分层

1.3 虚拟化架构

1.3.1 寄居架构

1.3.2 原生架构

1.4 虚拟化产品

1.4.1 仿真虚拟化产品(对系统硬件没有要求,性能最低)

1.4.2 半虚拟化 (虚拟机可以使用真机物理机)

1.4.3 全虚拟化 (直接使用物理硬件,性能高)

1.4.4 KVM和EXSI详解

二、Docker

2.1 概念

2.2 优点

2.3 Docker与虚拟机的区别

2.4 容器技术

2.5 容器在内核中支持2种重要技术

2.6 namespace的六项隔离

​2.7 docker核心概念

2.8 安装 Docker

2.8.1 关闭防火墙和核心防护

2.8.2 安装依赖包

2.8.3 设置阿里云镜像源

2.8.4 安装 Docker-CE并设置为开机自动启动

2.8.5 查看 docker 版本信息

2.8.6 docker 信息查看

2.8.7 搜索镜像

2.8.8 获取镜像

2.8.9 镜像加速下载

2.8.10 查看下载的镜像文件信息

2.8.11 查看下载到本地的所有镜像

2.8.12 获取镜像详细信息

2.8.13 为本地的镜像添加新的标签

2.8.14 删除镜像


一、虚拟化

1.1 云端

国内云 华为云,阿里云、腾讯云,天翼云(私有云)

国外云 谷歌 亚马逊

1.2 云计算服务模式分层

laaS:Infrastructure(基础设施)-as-a-Service

PaaS:Platform(平台)-as-a-Service

SaaS:Software(软件)-as-a-Service

1.3 虚拟化架构

1.3.1 寄居架构

本机(真实的操作系统)-》虚拟化产品-》虚拟化操作系统或软件

1.3.2 原生架构

裸金属服务器-》虚拟化产品

1.4 虚拟化产品

1.4.1 仿真虚拟化产品(对系统硬件没有要求,性能最低)

vmware客户端 

vmware workstation        个人在windows安装的虚拟机

vmware Fusion MAC

1.4.2 半虚拟化 (虚拟机可以使用真机物理机)

(1)KVM/openstack(开发), linux 环境虚拟机,私有云环境

 KVM 基于内核的虚拟机主机,也可看做全虚拟化。

(2)半虛拟化reh15自带xen(虚拟机监视器),Hypervisor层

微软 Microsoft Hyper-v

virtualBox 7.0        虚拟盒子

cirix Hypervisor

1.4.3 全虚拟化 (直接使用物理硬件,性能高)

VMware服务端        

exsi         vmware vsphere 安装在裸金属服务器上

客户端连接,现企业使用网页端连接,vmware vsphere

1.4.4 KVM和EXSI详解

(1)KVM linux内核来完成的功能和性能。

首先通过kvm+内核调用控制器,然后通过控制器调用内核软件层,然后内核软件层调用QEMU的I/O控制器,QEMU使用二进制调用CPU内存,生成vm1、vm2等虚拟机。

(2)企业用得多,除了云之外。

在裸金属服务器安装EXSI系统,使用网页连接,系统层使用调度器调度配置网络。监控管理、CPU、内存等。

二、Docker

2.1 概念

Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。Docker是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”。Docker 的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器。

打成一个镜像包。

Docker的设计宗旨:Build,Ship and Run Any App,Anywhere,
即通过对应用组件的封装、发布、部署、运行等生命周期的管理,达到应用组件级别的“一次封装,到处运行”的目的。这里的组件,既可以是一个应用,也可以是一套服务,甚至是一个完整的操作系统。

 2.2 优点

(1)灵活:即使是最复杂的应用也可以集装箱化。

(2)轻量级:容器利用并共享主机内核。

(3)可互换:可以即时部署更新和升级。

(4)便携式:可以在本地构建,部署到云,并在任何地方运行。

(5)可扩展:可以增加并自动分发容器副本。

(6)可堆叠:可以垂直和即时堆叠服务。

注意:容器是在linux上本机运行,并与其他容器共享主机的内核,它运行的是一个独立的进程,不占用其他任何可执行文件的内存,非常轻量。虚拟机运行的是一个完整的操作系统,通过虚拟机管理程序对主机资源进行虚拟访问,相比之下需要的资源更多。

2.3 Docker与虚拟机的区别

2.4 容器技术

docker

podman 与docker相似OCI

K8s

Container        核心组件之一

LXC        linux容器化技术

crio:轻量级,专门用于 k8s

apche mesos   容器编排平台

2.5 容器在内核中支持2种重要技术

docker本质就是宿主机的一个进程,docker是通过namespace实现资源隔离,通过cgroup实现资源限制,通过写时复制技术(copy-on-write)实现了高效的文件操作(类似虚拟机的磁盘比如分配500g并不是实际占用物理磁盘500g)。

2.6 namespace的六项隔离

 2.7 docker核心概念

(1)镜像

Docker的镜像是创建容器的基础,类似虚拟机的快照,可以理解为一个面向 Docker 容器引擎的只读模板。通过镜像启动一个容器,一个镜像是一个可执行的包,其中包括运行应用程序所需要的所有内容包含代码,运行时间,库、环境变量、和配置文件。
Docker镜像也是一个压缩包,只是这个压缩包不只是可执行文件,环境部署脚本,它还包含了完整的操作系统。因为大部分的镜像都是基于某个操作系统来构建,所以很轻松的就可以构建本地和远端一样的环境,这也是Docker镜像的精髓。

(2)容器
Docker的容器是从镜像创建的运行实例,它可以被启动、停止和删除。所创建的每一个容器都是相互隔离、互不可见,以保证平台的安全性。可以把容器看做是一个简易版的linux环境(包括root用户权限、镜像空间、用户空间和网络空间等)和运行在其中的应用程序。镜像 nginx  (run) 起来之后的一个实例,可以把容器看做时一个简易版的linux环境容器 就是集装箱(logo上的集装箱)

(3)仓库
Docker仓库是用来集中保存镜像的地方,当创建了自己的镜像之后,可以使用push命令将它上传到公有仓库(Public)或者私有仓库(Private)。当下次要在另外一台机器上使用这个镜像时,只需从仓库获取。

注意:Docker 的镜像、容器、日志等内容全部都默认存储在 /var/lib/docker 

2.8 安装 Docker

2.8.1 关闭防火墙和核心防护

systemctl stop firewalld.service
setenforce 0

2.8.2 安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2 

2.8.3 设置阿里云镜像源

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

2.8.4 安装 Docker-CE并设置为开机自动启动

yum install -y docker-ce docker-ce-cli containerd.io
systemctl start docker.service
systemctl enable docker.service 

2.8.5 查看 docker 版本信息

docker version

2.8.6 docker 信息查看

docker info 

2.8.7 搜索镜像

docker search 关键字
如:docker search nginx

2.8.8 获取镜像

docker pull 仓库名称[:标签]
如:docker pull nginx

2.8.9 镜像加速下载

(1)浏览器访问 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 获取镜像加速器配置

(2)配置

mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://rs4kf2fz.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker

2.8.10 查看下载的镜像文件信息

cat /var/lib/docker/image/overlay2/repositories.json

2.8.11 查看下载到本地的所有镜像

docker images

2.8.12 获取镜像详细信息

docker inspect 镜像ID号

2.8.13 为本地的镜像添加新的标签

docker tag 名称:[标签] 新名称:[新标签]

2.8.14 删除镜像

docker rmi 仓库名称:标签
或
docker rmi 镜像ID号	

 

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

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

相关文章

垃圾渗滤液如何有效处理

垃圾渗滤液&#xff0c;通常称为垃圾填埋场的渗滤液&#xff0c;是一种复杂的高浓度有机废水&#xff0c;含有多种有毒有害物质。有效处理垃圾渗滤液对环境保护至关重要。这里是一些常见且有效的处理方法&#xff1a; ### 预处理 ##### 1. 调节池 - **pH调整**&#xff1a;通过…

【招聘】数通,云计算岗位持续招聘中

北京、南京、成都、贵州、杭州、深圳、上海 云计算HCS 薪资:8-25k 岗位描述: 1、制定网络安全技术规范及工作标准、负责全国工程团队技术培训及人员培养 2、全国项目技术支持、协助开展广域网的设计、规划、实施及方案交流工作 3、承担公司中、大型集成项目管理&#xff0c;负…

7、线上系统部署时如何设置JVM内存大小?

7.1、前文回顾 让我们先来回顾一下我们已经学到的知识。现在,大家应该都明白了,在我们日常编写代码时,所创建的对象通常是首先在新生代区域进行分配的。然后,当一些方法执行完毕后,大部分位于新生代区域中的对象将不再被引用,从而变成垃圾对象。如下图所示: 随着程序…

Spring MVC后续

目录 1 响应 1.1 返回静态页面 1.2 返回数据ResponseBody 1.3 返回HTML代码片段 1.4 返回JSON 1.5 设置状态码 1 响应 1.1 返回静态页面 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>index页面&…

项目管理中,项目团队如何高效的协作与沟通?

目 录 一、项目团队高效的协作与沟通&#xff0c;可以通过以下几个方面来实现&#xff1a; 二、如何在项目团队中明确和共享愿景以提高协作效率&#xff1f; 三、有效的沟通策略在项目管理中的应用案例有哪些&#xff1f; 四、建立哪些具体的沟通机制可以提升团队协作效率…

创享大会分会场—“职棱起来”《职业生涯画布工作坊》

会议主题&#xff1a;创享大会分会场—“职棱起来”《职业生涯画布工作坊》 会议时间&#xff1a;5月25日&#xff08;周六&#xff09;13:30—16:30 会议地点&#xff1a;北京希尔顿欢朋酒店&#xff08;大红门&#xff09; 特邀嘉宾&#xff1a;姚冬&#xff08;冬哥&…

探秘Meta AI巨无霸:LLaMA大语言模型解析!

目录 福利&#xff1a;文末有chat-gpt纯分享&#xff0c;无魔法&#xff0c;无限制 Abstract Introduction Approach Pre-training Data Tokenizer Architecture Pre-normalization SwiGLU激活函数 Rotary Embeddings Optimizer Main results 总结 Meta的LLaMA大模…

【QML】State组件

State(状态)组件是一组来自默认配置的批处理更改。所有项都有一个默认状态&#xff0c;该状态定义对象和属性值的默认配置。可以通过将State项添加到states属性来定义新的状态&#xff0c;以允许项在不同的配置之间切换。 State组件的基本用法如下&#xff1a; Window {id: …

如何优化必应bing搜索国内广告投放效果?

在当今竞争激烈的数字营销环境中&#xff0c;必应Bing作为全球第二大搜索引擎&#xff0c;在中国市场正逐渐成为企业不可忽视的广告投放平台。其高质量的用户基础与精准的定位能力&#xff0c;为广告主提供了新的增长机遇。然而&#xff0c;如何在必应Bing上实现广告效果的最大…

基于springboot+vue+Mysql的汉服推广网站

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

列车tcn网络mvb主站发送代码流程解析

TCN-列车通信网络概述 机车车辆通信网络&#xff08;TCN-列车通信网络&#xff09;的基本组件是在整个列车单元中提供数据通信的有线列车总线&#xff08;WTB&#xff09;和用于在车辆或固定连接车辆组&#xff08;组成&#xff09;内进行数据交换&#xff08;通信&#xff09…

公钥密码学Public-Key Cryptography

公钥或非对称密码学的发展是整个密码学历史上最伟大的&#xff0c;也许是唯一真正的革命。The development of public-key, or asymmetric, cryptography is the greatest and perhaps the only true revolution in the entire history of cryptography. 公钥算法基于数学函数…

aardio - 【库】图片转字符画

库文件及例程下载&#xff1a;https://aardio.online/thread-261.htm

【linux】Bad owner or permissions on

在root用户下执行scp操作向另外一个节点拷贝文件时发生了如下错误&#xff1a; Bad owner or permissions on /etc/crypto-policies/back-ends/openssh.config 我们查看他的权限时发现它所链接的文件权限为777 解决方法就是&#xff1a; chmod 600 /etc/crypto-policies/back-e…

组装一台FPV穿越机无人机,小白级保姆教程!

穿越机是无人机的一种类型&#xff0c;但与常见的无人机相比&#xff0c;它更倾向于被归类为航模。穿越机通常没有自主巡航能力&#xff0c;并且许多玩家喜欢自己购买配件进行组装。它的最高时速可以达到120km/h至230km/h。 配件清单 DJI O3 天空端&#xff0c;DJI Goggles 2&…

[柏鹭杯 2021]试试大数据分解?

题目&#xff1a;&#xff08;NSSCTF | 在线CTF平台&#xff09; 题目就是如此&#xff0c;我没看到有5个不同的文本&#xff0c;其中最后一个文本以pem后缀&#xff0c;所以我们先来了解一下什么是pem格式。 PEM 格式 PEM格式通常用于数字证书认证机构&#xff08;Certifica…

如何在window系统中安装Mysql

先简单来说说MySQL是什么&#xff1f; MySQL 是最流行的关系型数据库管理系统&#xff0c;在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System&#xff1a;关系数据库管理系统)应用软件之一。 MySQL 由瑞典 MySQL AB 公司开发&#xff0c;目前属于…

关于主流电商数据采集技术:电商API数据采集接口|

引言 随着时代的进步&#xff0c;电商数据采集技术正以前所未有的速度和规模发展&#xff0c;它已经深刻地改变了我们的生活和工作方式。在这个激动人心的时刻&#xff0c;我司也积极跟随时代的步伐&#xff0c;不断探索创新&#xff0c;努力实现与AI技术的融合&#xff0c;以提…

Python自动化系列3

常用数据类型:列表、元祖、字典、集合 1、列表&#xff08;list&#xff09;&#xff1a;[] 1.1、元素可以是任意的数据类型&#xff1a;int float bool str list … list1 [20,3.14,True,“七木”&#xff0c;“荷花鱼”&#xff0c;[1,2,3,4]] #空列表 1.2、收值:素引取值…

【linux】mobaterm如何kill pycharm进程

【linux】mobaterm如何kill pycharm进程 【先赞后看养成习惯】求点赞关注收藏&#x1f600; 使用云服务器时&#xff0c;pycharm在打开状态下&#xff0c;不小心关了mobaxterm&#xff0c;然后再输入pycharm.sh就会打不开pycharm&#xff0c;显示已经打开报错&#xff1a;Com…