【虚拟化】
1 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,
使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。 2 3 在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件 对资源充分利用 4 5 虚拟化技术种类很多,例如:软件虚拟化、硬件虚拟化、内存虚拟化、网络虚拟化(vip)、桌面虚拟化、服务虚拟化、虚拟机等等。 6 7 8 9 # kvm:开源的免费的 Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中 10 # exsi:vmware商用的,装在裸机上,可以虚拟化出很多机器 11 # openstack(python开发的,开源的):电信云,华为云 openstack 管理云平台 12 # 阿里云(自研,阿里飞天):云服务器,到一个网站,点点---》付款--》完成 13 # docker:容器技术 14 # k8s:多机容器管理,容器编排
【docker是什么】
1 Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。 2 它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议, 3 项目代码在 [GitHub](https://github.com/docker/docker) 上进行维护 4
容器化技术,区分于虚拟机,又类虚拟机,兼具虚拟机隔离的优点,又有速度快的优点
容器资源隔离,网络隔离
把容器当成一个虚拟机即可
5 6 # Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。 7 # Redhat 已经在其 RHEL6.5 中集中支持 Docker;Google 也在其 PaaS 产品中广泛应用。 8 9 # Docker 项目的目标是实现【轻量级的操作系统虚拟化解决方案】。 10 # Docker 的基础是 Linux 容器(LXC)等技术。 11 12 在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理, 13 使得操作更为简便。用户操作 Docker 的【容器就像操作一个快速轻量级的虚拟机】一样简单。
【docker和其他虚拟机比较】
1 # docker 不需要虚拟化出 操作系统这一层---》更轻量级--占空间更小---》还能实现隔离 2 3 # 虚拟机技术的缺点: 4 1.资源占用太多 5 2.冗余步骤多 6 3.启动很慢 7 8 # 容器化技术 9 1.服务器资源利用率高 10 2.比较轻量化 11 3.打包镜像测试,一键运行 12 13 14 比较Docker和虚拟机技术不同: 15 1.传统虚拟机,虚出一套硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件 16 2.容器内的应用之间运行在 宿主机的内容,容器是没有自己的内核的,也没有虚拟我们的硬件,所以久轻便了 17 3.每个容器间是互相隔离的,每个容器内都有属于自己的文件系统,互不影响 18 4.安全性,docker的安全性更弱, 19 5.与虚拟机相比,docker隔离性更弱,docker属于进程之间的隔离,虚拟机可实现系统级别隔离 20 21 7docker创建时秒级的,docker的快速迭代性,无论是开发、测试、部署都可以节约大量时间
【docker架构】
1 # 1 docker 是cs架构 ,mysql,redis,c和s要通信,使用的http协议,符合resful规范 2 # 2 Docker镜像:镜像是基于一堆文件,相当于虚拟机装了操作系统,又装了软件的一堆文件 3 # 3 Docker容器:镜像运行起来,成为了容器,【当成一台虚拟机上面装了一些软件】 4 - 类和对象的概念 5 - 镜像是类---》生成多个对象 6 containers:容器 7 images:镜像--》从注册中心下来下来的,一个镜像可以运行多个容器 8 # 4 Registry(注册中心) 9 -镜像从哪里来? 10 -注册中心中拉取下来
【docker安装和配置】
VMWare下载安装以及创建虚拟机教程
下载
1.打开官网https://www.vmware.com/cn.html,选择上方的【下载】按钮,在下拉页中选择【产品下载】,并选择【Workstation Pro】
2.滚动条拉到页面下方,可以选择我们要下载的VMWare版本(默认是最新版本,我这里是15.0),然后在下方选择我们要下载的是Linux还是Windows版本,点击【转至下载】
3.在跳转到的新页面中选择大版本下的小版本(默认也是最新的),然后点击下方的【立即下载】按钮,就会开始进行下载。
3.在跳转到的新页面中选择大版本下的小版本(默认也是最新的),然后点击下方的【立即下载】按钮,就会开始进行下载。
安装
用了别人下载好的安装包,我直接安装了,没有具体步骤截图
创建虚拟机
下载CentOS
1.进入CentOS官网https://centos.org/,点击【Get CentOS Now】
2. 继续选择【CentOS Linux DVD ISO】
3.跳转的页面中有许多镜像可以让你选择,选择你要从哪个地址下载,单击它即可。
搭建虚拟机
1.首先打开我们安装好的VMWare,点击【创建新的虚拟机】
2.选择【自定义】后,点击【下一步】
3.直接点击【下一步】
4.这里要切记选择【稍后安装操作系统】(有其他博客说不这样选会立即安装镜像,并会把磁盘空间全部放在C盘上),然后点击下一步。
5.选择操作系统以及版本
6.设置虚拟机名称和本地安装路径
7.选择给虚拟机分配的处理器数量(根据自己的电脑配置来设定,不能超过电脑配置的最大值)
8.给虚拟机分配内存
9.网络类型这里可以不设置,后面再去配置
10.后面的就一直使用推荐选项,点击【下一步】即可。
分配磁盘大小的时候也可以使用默认值,因为分配的是虚拟磁盘,可以理解为虚拟机和主机共享的磁盘空间,即使分配给虚拟机1T空间,在他没有全部使用的时候,主机也是可以使用这1T空间。
11.搭建完成后,回到VMWare界面,在左侧出现了我们搭建的虚拟机的名称,但是这个虚拟机还有镜像文件和网络没有配置,因此我们右键它,选择【设置】
12.选择【硬件】,再选择【CD/DVD(IDE)】,然后在右侧选择【使用ISO映像文件】,点击【浏览】,选择我们之前下载的CentOS镜像文件
13.继续点击下方的【添加】按钮
14.选择添加【网络适配器】,然后点击【完成】
15.选择【网络适配器】,在右侧的网络连接中选择你需要的连接类型
到此,我们的虚拟机已经创建完成了,回到VMWare界面,选中我们创建的虚拟机,点击右侧【启动】按键,即可启动我们的虚拟机。
如果是第一次启动的话,需要安装CentOS系统,下面讲述一下系统的安装
CentOS系统安装
前面两个界面按回车键即可(我点太快了没截图),然后会出现选择语言的页面,将滚动条拉到最下面,选择【中文】→【简体】,点击下方的【继续】按钮。
然后会进入系统设置,我们先配置【日期和时间(T)】
将下图红框中几个选项配置的和你本地一样即可,配置完成点击左上角【完成(D)】返回
下一个我们配置【软件选择】
点击【软件选择】后进入如下页面,根据需要配置不同的工作场景和需要的软件环境。默认四最小安装,只有基本功能,命令行输入。
我这里使用的是工作站,因此勾选了工作站,同时右边的是工作站里包含的软件,务必要勾选你需要的环境,否则系统不会安装,我这里将它们全部勾选(注意有下拉滚动条),然后点击左上角的【完成(D)】
下一步我们继续配置系统的【安装位置】,点击【安装位置】
将【自动配置分区】改为【我要配置分区】,然后点击【完成(C)】
会进入到【手动分区】页面,先将分区方案改为【标准分区】,再点击右下角的【+】
先配置/boot,大小可以分配300M
再分配【swap】
剩余的配置根分区【/】,不填写【期望容量】会将剩余的空间全部分为根分区
上面的全部配置完成后,点击左上角【完成(D)】,在弹出框中选择【接受更改】
选择右下角【开始安装】
会提示【Root密码未设置】和【不会创建任何用户】,我们先点击【ROOT密码】,设置ROOT角色的密码
设置密码的时候下方会有相应的提示,我这里为了简单,设置成和账户名一样的root,会提示我太短,需要点击两次【完成(D)】才可以确认,我们点两次【完成】即可
点击两次完成后重新回到页面,注意这个时候下面已经开始安装我们的系统了,等待它安装完成。
安装完成后右下角有【重启】按钮,点击【重启】
上述部分来自博主VMWare下载安装以及创建虚拟机教程 - 一响贪欢 - 博客园 (cnblogs.com)
(安装docker)
用finalshell连接虚拟机,查看ip:ip addr
1 # 1 如果之前装过,卸载 2 yum remove docker docker-common docker-selinux docker-engine 3 rm -rf /var/lib/docker 4 yum update # 更新yum仓库 5 6 # 2 安装 7 yum install -y yum-utils device-mapper-persistent-data lvm2 软件安装包 8 9 yum-config-manager --add-repo http://mirrors.aliyun.com/docker- ce/linux/centos/docker-ce.repo 设置yum源 10 11 yum install docker-ce -y 安装docker 12 13 14 # 3 查看安装的版本 15 docker --version 16 17 # 4 目前我们只装了 docker-ce, 18 -只有:c 和 s端 19 -没有docker-compose 20 -没有图形化解码 21 -跟docker-destop的区别 22 23 24 # 5 启动docker 25 systemctl status docker 查看状态 26 systemctl start docker 启动 27 28 ================================================= 29 # 6 镜像--》从远程下载下来的---》hub.docker.com -->仓库下的 30 -有非常多镜:可以搜索,搜到以后,镜像有不同版本 31 -目前:访问不到了,拉去不下来 32 -配置:国内镜像站:阿里云 33 -https://cr.console.aliyun.com/cn-shanghai/instances/mirrors 34 sudo mkdir -p /etc/docker # 如果有,就不需要创建了 35 vi /etc/docker/daemon.json 36 # 加入 37 { 38 "registry-mirrors": ["https://x1566319.mirror.aliyuncs.com"] 39 } 40 # 按 esc 41 # 输入 :wq 敲回车 42 43 44 # 保存退出 45 systemctl daemon-reload # 重新加载docker配置 46 systemctl restart docker # 重启docker
我下载了FinalShell来远程控制vmware
镜像站配置(第6步)
【启动与停止常用命令】
1 # 启动docker: 2 systemctl start docker 3 4 # 停止docker: 5 systemctl stop docker 6 7 # 重启docker: 8 systemctl restart docker 9 10 # 查看docker状态: 11 systemctl status docker 12 13 ------------------------------------------ 14 15 # 开机启动: 16 systemctl enable docker 17 18 # 查看docker概要信息 19 docker info 20 21 # 查看docker帮助文档 22 docker --help
【docker镜像操作】
1 # 镜像:images 2 -一堆文件---》目前咱们从register---》下载---》放在宿主机(centos 7.9机器) 3 -类比:虚拟上装系统 4 - 操作系统文件 xx.iso--->装在虚拟机上 5 - 镜像你当成 xx.iso 操作系统文件 6 -把iso装在不同虚拟机中---》启动---》多台有操作系统的机器 7 # 容器:container 8 -镜像运行---》运行成容器 9 -类比: 10 -容器当成一个正在运行的操作系统 11 -一个镜像,可以运行成多个容器 12 13 # python面向对象 14 类:镜像 15 对象:实例化得到多个对象,每个对象间独立的 16 17 # 以后一个容器,我们就当成 :一个操作系统+软件--》正在运行
【镜像相关命令】
1 # 0 搜索镜像 2 -去网站搜:https://hub.docker.com/ 3 -使用命令行搜clear:docker search mysql 4 5 # 1 获取镜像,拉去镜像---》从register下载到本地--》阿里云镜像站--》加速拉取 6 docker pull mysql:5.7 # 下载mysql 5.7镜像 7 docker pull redis:latest # 下载redis最新的镜像 8 docker pull nginx:latest # 下载 nginx最新的镜像 9 docker pull centos:centos7 # 下载 nginx最新的镜像 10 11 # 2 查看镜像 12 docker images 13 14 # 3 删除镜像 15 docker rmi redis:latest
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能