2026/4/7 16:38:24
网站建设
项目流程
网站建设规划方案.ppt,vs2008做网站,企业网站如何制作,自适应网站功能Docker学习手册
本文将阐述如下内容#xff1a;
——docker基本入门#xff1a;虚拟化与虚拟机
——docker的虚拟机部署
——docker与jumpserver
在此感谢大家的阅读#xff0c;感谢CSDN为广大学习者提供分享交流平台#xff0c;感谢知识。 docker基本入门#xff1a…Docker学习手册本文将阐述如下内容——docker基本入门虚拟化与虚拟机——docker的虚拟机部署——docker与jumpserver在此感谢大家的阅读感谢CSDN为广大学习者提供分享交流平台感谢知识。docker基本入门虚拟化与虚拟机在计算机技术中虚拟化技术是一种资源管理技术。它可以将计算机的各种实体资源CPU、内存、磁盘空间、网络适配器等予以抽象、转换后呈现出来并可供分割、组合为一个或多个电脑配置环境。需要注意的是这些资源的新虚拟部分不受现有资源的架设方式地域或物理配置所限制参考自维基百科。这段话说明了虚拟化的几个优势一是干净。在我们利用虚拟化技术分割电脑配置环境之后各环境相对独立我们可以利用多环境跑不同的配置减少数据的相互干涉从而有一个更干净的环境。二是便于管理。利用这种资源管理技术可以更直观地对我们的数据进行载入更改和迁移。三是可以打破一部分硬件的限制。因为这些资源部分不受现有资源的限制即使我们电脑的配置很低也可以利用虚拟化技术使用更高的配置。所以利用虚拟化技术我们虽然只有一台计算机却可以通过分割组合同时有几台计算机的独立干净环境。它的实现非常简单就是在硬件与操作系统之间增加一个“虚拟化层”对物理资源进行拦截、模拟、调度和隔离。传统虚拟化接下来我将讲一个vmware实现虚拟化的例子首先我将简单介绍一下vmware。Vmware想必大家都不陌生VMware 是一套虚拟化技术和产品的统称。核心作用是在一台物理服务器上运行多台相互隔离的虚拟服务器虚拟机。接下来我将阐释vmware如何运行虚拟服务器并实现虚拟化。在此之前我想介绍一下Hypervisor。Hypervisor虚拟机监控器 是一种虚拟化核心软件层作用是把一台物理服务器的硬件资源CPU、内存、磁盘、网络等抽象、隔离并分配给多个虚拟机VM让多套操作系统能够同时、安全地运行在同一台物理硬件上。换言之Hypervisor相当于一个机器的过渡层在Vmware实现虚拟化的过程中Hypervisor发挥着至关重要的作用。其实Vmware实现虚拟化只做了三件事情1.让Hypervisor接管硬件最高权限在一台没有虚拟化的物理服务器上操作系统内核直接运行在 CPU 的最高特权级拥有对 CPU、内存、设备的完全控制权。但当需要在同一台物理机上同时运行多个操作系统时这种模式就行不通了因为最高权限只能有一个主体。此时我们需要让Hypervisor接管硬件的最高权限。一旦 Hypervisor 启动并接管系统所有物理硬件资源的最终控制权都归它所有。这一步的本质是把“操作系统直接控制硬件”的模式变成“操作系统先向 Hypervisor请求由Hypervisor决定”的模式。意义在于把操作系统 硬件主人的地位降级为硬件的使用者而让 Hypervisor 成为真正的硬件管理者这是实现多系统共存、强隔离、高可靠和平台级资源治理至关重要的一步。2.让虚拟机“假装”拥有完整硬件在虚拟机内部运行的操作系统必须保持原有设计不变。它必须认为自己拥有一整套完整的计算机硬件否则无法正常启动和运行。在 CPU 层面虚拟机看到的是多个虚拟 CPU。Hypervisor 把这些虚拟 CPU 映射到物理 CPU 的时间片上轮流执行让虚拟机感觉自己始终在运行。在设备层面大多数虚拟机使用的是虚拟设备而非真实硬件。例如虚拟磁盘、虚拟网卡。虚拟机向这些设备发送的读写请求实际上由 Hypervisor 转换为对真实硬件或文件的操作。对于虚拟机来说这一过程是完全透明的。简单概括Hypervisor将虚拟机向设备发送的读写请求转化为对真实硬件或文件的操作同时让虚拟机感觉自己始终在运行。实现了让虚拟机“假装”拥有完整硬件。这是实现虚拟化的重要步骤。3.由 Hypervisor 统一调度和隔离资源当多台虚拟机同时运行在一台物理服务器上时最重要的问题有两个一是如何公平、高效地分配资源二是如何保证它们之间互不干扰。Hypervisor 负责对所有硬件资源进行统一调度和管理不仅整合了虚拟机的资源也做到更干净高效地执行操作。从而实现多台虚拟机共享同一套物理硬件但在逻辑上完全隔离行为上如同运行在不同的物理服务器上。以此为例虚拟化可以打破实体结构间的不可切割的障碍使用户可以比原本的配置更好的方式来应用这些电脑硬件资源。一般所指的虚拟化资源包括计算能力和资料存储。对于docker与传统虚拟化传统虚拟化一台物理机变成多台完整的虚拟电脑Docker容器一台物理机共用一个内核跑多个隔离的应用传统虚拟化VM是多台主机各自有一个内核作为硬件级虚拟化存在。docker则为多台主机共用一个内核作为操作系统级虚拟化存在。传统虚拟化解决的是“如何把一台物理机变成多台机器”虚拟机适合承载数据库、核心业务系统、需要强安全隔离或需要特定内核特性的应用但代价是资源开销大、启动慢、运维成本高。而 Docker 解决的是“如何在同一操作系统上高效运行大量应用。Docker 由于共享内核应用与操作系统内核之间的边界被大幅弱化。应用只需要关注自身和依赖库不再关心底层系统环境部署单位从“服务器”变成了“应用”。这使得应用可以快速启动、快速复制、快速销毁极大提高了资源利用率和交付效率。但代价是容器之间的隔离强度依赖内核本身且容器必须与宿主机内核类型一致。言简意赅如果传统虚拟机是将机器分隔为一个个独立的机器docker就是将机器中的空间分成小块。使得开发更加高效。我们可以在Ubuntu或者主机中跑docker传统虚拟机与docker作为协作关系而存在。docker的虚拟机部署首先我们需要一个干净的虚拟机这样可以避免版本冲突也是生产环境的要求。接下来我们以Ubuntu为例阐述对docker的部署。要求机器可以联网最好是NAT模式。大佬随意。版本要求Ubuntu 20.04 / 22.04 / 24.04内存2GB磁盘20GB关于网络问题作者踩过很多坑这里进行特别说明。我们拉取安装包时往往需要连接github。检查网络是否通畅Ping github.com如果报错可检查443端口和22端口。检查22端口sudo systemctl status ssh检查443端口sudo ufw status检查防火墙权限sudo ufw status verbose如果依旧报错可手动修改对应的.conf文件放行github如果你的机器是NAT模式需要检查主机是否能ping通github。如果不行可检查vpn常见的设置例如局域网连接是否开启。一切都没问题开始愉快地部署docker吧首先老操作更新系统软件源sudo apt update安装依赖sudo apt install -y \ ca-certificates \ curl \ gnupg \ lsb-release#说明ca-certificatesHTTPS 证书curl下载 Docker 官方文件gnupg验证 Docker 包签名lsb-release识别 Ubuntu 版本接下来就可以添加官方软件源了哈echo \ deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.gpg] \ https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable \ | sudo tee /etc/apt/sources.list.d/docker.list依旧更新软件源sudo apt update安装docker相关组件sudo apt install -y \ docker-ce \ docker-ce-cli \ containerd.io \ docker-buildx-plugin \ docker-compose-plugin启动/关闭docker服务sudo systemctl start docker sudo systemctl enable docker查看docker状态systemctl status docker写入docker-compose.yml文件最好创建一个单独的文件夹然后创建docker-compose.yml运行sudo nano 你的路径/docker-compose.yml然后写入version: 3.8 services: nginx: image: nginx:alpine ports: - 80:80CtrlO保存然后按enter接着CtrlX退出后台运行docker compose up -d注意运行此命令必须cd到yml文件对应的文件夹。以上如果都没报错我们便成功安装好了dockerdocker与jumpserverJumpServer 是一套堡垒机系统用于1.统一登录入口2.集中账号与权限控制3.审计所有运维操作SSH / Web / 数据库Docker 不是 JumpServer 的功能而是 JumpServer 的一种运行方式。用docker装jumpserver由于容器隔离可以有效避免冲突。即使你的环境不那么干净也可以顺利使用jumpserver。Jumpserver可以通过宿主机管理容器内服务。以下我将参考官方文档介绍jumpserver的部署官方文档链接https://www.jumpserver.com/docs?utm_sourcechatgpt.com爱来自chatgptai是人类的好朋友。以下是省流版其实非常简单首先在opt目录下创建一个名为jumpserver的文件夹。以后所有 JumpServer 操作都在这个目录下进行。然后cd到此文件夹接着运行curl -sSL https://github.com/jumpserver/jumpserver/releases/latest/download/quick_start.sh | bash拉取最新版安装包然后根据你的IP地址在web上进行登录一般默认的账号admin密码ChangeMe注意区分大小写别急还没完以下是常见命令。我们需要cd到jumpserver目录下进行启动JumpServer ./jms start停止JumpServer ./jms stop重启JumpServer ./jms restart查看状态./jms status查看日志./jms logs更新 JumpServer./jms upgrade其中出于排错的目的查看日志至关重要。以上是本文的全部内容部分参考自chatgpt维基百科官方文档。ai是人类的好朋友。为了更便于阅读也穿插作者的原创。谢谢大家的阅读