Docker 容器化(初学者的分享)
目录
一、什么是docker
二、docker的缺陷
三、简单的操作
一、首先配置一台虚拟机
二、安装Docker-CE
一、安装utils
二、 将 Docker 的软件源添加到 CentOS 的 yum 仓库中。这样可以通过 yum 命令来安装、更新和管理 Docker 相关的软件包。
三、将 download.docker.com 替换为 mirrors.aliyun.com/docker-ce。这个命令的目的是将 Docker 软件源的地址替换为阿里云镜像站点,以提高下载速度和稳定性。
四、安装docker-ce
五、启用并立即启动 Docker 服务。这个命令会将 Docker 服务添加到系统启动项,并立即启动 Docker 服务,以便可以立即开始使用 Docker。
六、显示当前安装的 Docker 版本信息,包括 Docker 客户端和服务端的版本号、构建日期等详细信息。
七、创建一个文件
八、在文件中添加下方的内容
九、启动docker
三、docker的基本使用
一、在仓库中查找镜像
二、下载镜像
三、查看本地docker镜像
四、调用容器内的命令
五、进入容器
六、容器正常运行
七、定义内存大小
八、查看正在运行的容器
九、确定被锁定的容器信息
十、限制容器只能使用1个CPU
十一、限制容器在CPU上第一 第二核心上使用资源
十二、限制容器使用磁盘I/O
十三、查看所有的容器包括已经退出的
十四、停止和启动容器
十五、删除以退出的容器
十六、删除已退出的容器及正在运行的容器
十七、为容器命名为snowmpy
十八、输入容器信息并导出容器
十九、导入容器
二十、指定docker的其他各种参数
二十一、更改镜像名和标签
二十二、删除镜像
二十三、确定容器根目录及文件系统在本地系统上挂载
二十四、进入容器并添加内容
二十五、开启一个新容器,并在容器中安装ssh服务
二十六、更改源并安装ssh
二十七、在容器中为sshd生成ssh所需的主机密码
二十八、容器的root密码
二十九、获取dockerID和docker名
三十、生成docker镜像
一、什么是docker
Docker是一个开源的容器化平台,可以让开发人员和系统管理员通过容器的方式来构建、打包、分发和运行应用程序。
Docker最初由公司叫做dotCloud(现在已更名为Docker)的一群工程师于2013年创建。他们旨在解决传统虚拟化技术的一些痛点,如资源占用、启动时间长等问题。他们基于Linux内核的cgroups和命名空间技术开发出了Docker。
Docker的设计理念是使用容器来封装应用程序及其依赖项,使其能够在任何环境中都能一致地运行。通过容器化,开发人员可以将应用程序及其依赖项打包到一个独立的、可移植的容器中,包括操作系统、库、软件工具等。这样,就能够确保应用程序在不同环境中具有相同的行为。
Docker的出现解决了开发、测试和部署过程中的许多问题,减少了环境配置的复杂性、提高了应用的可移植性和可扩展性。它极大地简化了应用程序的打包和分发过程,并通过容器的方式实现了更高效的资源利用。
随着时间的推移,Docker变得越来越流行,成为了容器化技术的标准和行业领导者。它对于微服务架构、持续集成和部署等现代应用开发和交付模式具有重要的意义。
二、docker的缺陷
尽管Docker在容器化领域取得了巨大的成功和普及,但它也有一些缺点和限制:
-
性能损耗:与直接在主机上运行应用程序相比,Docker容器中的应用程序可能会有一些性能损耗。这是因为容器化引入了额外的隔离和资源管理层。
-
安全性风险:如果容器配置不当或容器内部存在漏洞,容器化环境可能会面临一些安全风险。攻击者可能会利用容器逃逸、容器间通信等漏洞进行攻击。
-
复杂性和学习曲线:使用Docker涉及到一些新的概念和工具,对于初学者来说可能需要一定的学习曲线。此外,复杂的容器集群和编排工具(如Kubernetes)的使用也需要一定的技术掌握。
-
资源消耗:每个容器都需要一定的资源(如内存、磁盘空间),在大规模部署或资源有限的环境中,这可能会导致资源紧张。
-
持久化存储:Docker容器默认情况下是设计为无状态的,容器停止后数据将会丢失。为了实现持久化存储,需要额外的配置和管理。
尽管存在这些缺点,Docker仍然是非常强大和受欢迎的容器化平台,可以在许多不同的应用场景中提供便利和效益。对于大多数用户来说,Docker的好处往往超过了其缺点。
三、简单的操作
一、首先配置一台虚拟机
二、安装Docker-CE
一、安装utils
yum install yum-utils -y
二、 将 Docker 的软件源添加到 CentOS 的 yum 仓库中。这样可以通过 yum 命令来安装、更新和管理 Docker 相关的软件包。
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
三、将 download.docker.com
替换为 mirrors.aliyun.com/docker-ce
。这个命令的目的是将 Docker 软件源的地址替换为阿里云镜像站点,以提高下载速度和稳定性。
sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
四、安装docker-ce
yum install docker-ce -y
五、启用并立即启动 Docker 服务。这个命令会将 Docker 服务添加到系统启动项,并立即启动 Docker 服务,以便可以立即开始使用 Docker。
systemctl enable --now docker
六、显示当前安装的 Docker 版本信息,包括 Docker 客户端和服务端的版本号、构建日期等详细信息。
docker version
七、创建一个文件
vim /etc/docker/daemon.json
八、在文件中添加下方的内容
配置 Docker 使用阿里云的镜像站点作为镜像加速器。镜像加速器可以加快 Docker 镜像的下载速度,提高容器的创建和部署效率。配置完成后,Docker 将自动使用阿里云的镜像站点来加速下载。
{"registry-mirrors": ["https://3laho3y3.mirror.aliyuncs.com"]
}
九、启动docker
systemctl restart docker
三、docker的基本使用
一、在仓库中查找镜像
docker search centos
二、下载镜像
docker pull centos
三、查看本地docker镜像
docker image list
四、调用容器内的命令
在一个基于 CentOS 镜像的容器中运行命令 cat /etc/hosts
。
具体解释
docker run
是 Docker 的命令,用于创建并启动一个新的容器。-i
参数表示在容器启动后,将标准输入(stdin)连接到容器的标准输入,这样可以与容器进行交互。-t
参数表示在容器启动后,为容器分配一个伪终端(pseudo-TTY),以便可以进行交互输入输出。centos
是要使用的容器镜像的名称,这里使用的是 CentOS 镜像。cat /etc/hosts
是要在容器内部执行的命令。这个命令会显示容器内/etc/hosts
文件的内容。
因此,这个命令的目的是启动一个基于 CentOS 镜像的容器,并在容器内部执行 cat /etc/hosts
命令,以查看容器内 /etc/hosts
文件的内容。
docker run -i -t centos cat /etc/hosts
五、进入容器
在一个基于 CentOS 镜像的容器中启动一个交互式的 Bash shell。
具体解释如下:
docker run
是 Docker 的命令,用于创建并启动一个新的容器。-it
参数表示以交互模式运行容器,并分配一个伪终端(pseudo-TTY)。centos
是要使用的容器镜像的名称,这里使用的是 CentOS 镜像。/bin/bash
是要在容器内部执行的命令,它启动了一个 Bash shell。
通过执行这个命令,Docker会创建一个基于CentOS镜像的容器,并切换到容器的交互式的Bash shell终端,使用户可以与容器进行交互。这样可以在容器内部执行命令、查看文件、安装软件包等操作。当退出Shell终端时,容器也将停止运行。
如果在上图显示的界面输入exit的话,则直接退出容器
六、容器正常运行
如果想让容器正常运行的话,在输入 docker run -it centos /bin/bash 后
按住ctrl键不要松手,在摁p键和q键 则会出现
一个伪终端
摁下回车,则成功的锁定容器并在容器内执行一些命令及操作,退出但是可以使容器正常运行
七、定义内存大小
在一个基于 CentOS 镜像的容器中以交互模式启动一个 Bash shell,并且限制容器的内存使用量为300MB。
docker run -it -m 300M --memory-swap 300M centos /bin/bash
八、查看正在运行的容器
docker ps
显示up的都是正在启动
九、确定被锁定的容器信息
docker stats 输入显示ID的前四个字符
十、限制容器只能使用1个CPU
docker run -it -m="500m" --cpus="1" centos /bin/bash
十一、限制容器在CPU上第一 第二核心上使用资源
docker run -it --cpuset-cpus="0,1" centos /bin/bash
十二、限制容器使用磁盘I/O
docker run -it --device-write-bps /dev/sda:30MB centos /bin/bash
十三、查看所有的容器包括已经退出的
docker ps -a
状态为UP的则正启动的,其他则为未启动
十四、停止和启动容器
用第一个容器举例,现在是正在启动的状态,关闭容器
docker kill 7e92
查看状态
docker ps -a
成功关闭容器
如要开启则输入
docker start 7e92
成功启动
十五、删除以退出的容器
以23f9 为例 现在是正在关闭和退出的状态,输入命令
docker rm 23f9
查看状态
docker ps -a
成功删除
十六、删除已退出的容器及正在运行的容器
docker rm $(docker ps -a | awk '{print $1}' | sed 1d) -f
十七、为容器命名为snowmpy
docker run -itd --name snowmpy centos /bin/bash
成功创建一个名为snowmpy的容器
十八、输入容器信息并导出容器
docker logs snowmpy
docker export snowmpy > mpy.tar
ls -l mpy.tar
十九、导入容器
cat mpy.tar | docker import - mpy:test
的意思是通过管道(|
)将文件 mpy.tar
的内容导入到 Docker 中,并创建一个名为 mpy:test
的镜像。
cat mpy.tar | docker import - mpy:test
列出本地的镜像列表
docker image list
二十、指定docker的其他各种参数
docker run -ti --name gzliu -h server --dns-search=1000cc.net --dns=8.8.8.8 --dns=8.8.4.4 centos:latest /bin/bash
二十一、更改镜像名和标签
列出本地的镜像列表
docker images
- 给一个已有的镜像打上新的标签。
mpy:test
是已有的镜像名称和标签。mpy:ok
是新的镜像名称和标签。
通过执行这个命令,Docker 会在已有镜像的基础上创建一个新的镜像标签 mpy:ok
,两个标签实际上指向同一个镜像。这样可以方便地给镜像创建不同的标签,用于版本管理或其他需求。新的标签可以用于识别和使用相同镜像的不同版本或变体。
docker tag mpy:test mpy:ok
docker images
二十二、删除镜像
docker rmi mpy:test
二十三、确定容器根目录及文件系统在本地系统上挂载
docker run -d -h websrv --name websrv -p 80:80 nginx
二十四、进入容器并添加内容
-
docker exec -it websrv /bin/bash:以交互式的方式进入名为websrv的Docker容器,并以bash作为默认的shell。
-
echo "hello world" > /usr/share/nginx/html/index.html:将字符串"hello world"写入到文件/usr/share/nginx/html/index.html中。
换句话说,这个命令的目的是在容器中的/nginx/html目录下创建一个名为index.html的文件,并在其中写入字符串"hello world"。
docker exec -it websrv /bin/bash
root@websrv:/# echo "hello world" > /usr/share/nginx/html/index.html
输入 exit 退出,并docker ps查看,显示成功挂载
该命令用于获取有关名为websrv的Docker容器的详细信息。它返回一个JSON格式的输出,其中包含有关容器的各种属性,如IP地址、挂载点、网络配置等。
docker inspect websrv
输入后再显示内容中找到
并复制第一行内容路径并输入
cd //var/lib/docker/overlay2/42ad29142a56ec09fc588eac31069f5652fc4926c5f2c7052cafc94fef0fc0a9/merged/usr/share/nginx/html
是容器的文件系统路径,其中包含了容器内部的文件和目录。这条命令的目的是将当前的工作目录切换到容器内的/nginx/html目录,以便进行操作。
二十五、开启一个新容器,并在容器中安装ssh服务
docker run --name snowchuai -h snow -it centos /bin/bash
这段命令是用来在 Docker 中运行一个名为 "snowchuai" 的容器,容器的主机名设置为 "snow",并且以交互模式运行 CentOS 镜像,并启动一个 bash shell。
具体说明如下:
docker run
:在 Docker 中运行一个容器--name snowchuai
:给容器指定一个名称 "snowchuai"-h snow
:设置容器的主机名为 "snow"-it
:以交互模式运行容器centos
:使用 CentOS 镜像作为容器的基础镜像/bin/bash
:在容器内启动一个 bash shell。这意味着你可以在容器内执行命令和操作。
这个命令的作用是创建一个 CentOS 容器并进入到容器内部的 bash shell 中进行后续操作。
二十六、更改源并安装ssh
这个源是有问题的,需要更改两个源 所以需要进入
cd /etc/yum.repos.d/
首先进入
vi CentOS-Linux-AppStream.repo
将里面内容更改为
# CentOS-Linux-AppStream.repo
#
# The mirrorlist system uses the connecting IP address of the client and the
# update status of each mirror to pick current mirrors that are geographically
# close to the client. You should use this for CentOS updates unless you are
# manually picking other mirrors.
#
# If the mirrorlist does not work for you, you can try the commented out
# baseurl line instead.[appstream]
name=CentOS Linux $releasever - AppStream
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=AppStream&infra=$infra
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/8-stream/AppStream/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
进入第二个
vi CentOS-Linux-BaseOS.repo
内容更改为
# CentOS-Linux-BaseOS.repo
#
# The mirrorlist system uses the connecting IP address of the client and the
# update status of each mirror to pick current mirrors that are geographically
# close to the client. You should use this for CentOS updates unless you are
# manually picking other mirrors.
#
# If the mirrorlist does not work for you, you can try the commented out
# baseurl line instead.[baseos]
name=CentOS Linux $releasever - BaseOS
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=BaseOS&infra=$infra
baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos/8-stream/BaseOS/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
更改后 输入安装命令
yum install openssh openssh-server passwd -y
成功安装
二十七、在容器中为sshd生成ssh所需的主机密码
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -q -N ''
-t rsa
:指定生成 RSA 类型的密钥对-f /etc/ssh/ssh_host_rsa_key
:指定保存 RSA 密钥的文件路径为 "/etc/ssh/ssh_host_rsa_key"-q
:指定以静默模式生成密钥对,不输出额外信息-N ''
:设置私钥的密码为空
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -q -N ''
ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -q -N ''
-t ecdsa
:指定生成 ECDSA 类型的密钥对-f /etc/ssh/ssh_host_ecdsa_key
:指定保存 ECDSA 密钥的文件路径为 "/etc/ssh/ssh_host_ecdsa_key"-q
:指定以静默模式生成密钥对,不输出额外信息-N ''
:设置私钥的密码为空
ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -q -N ''
ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -q -N ''
-t ed25519
:指定生成 Ed25519 类型的密钥对-f /etc/ssh/ssh_host_ed25519_key
:指定保存 Ed25519 密钥的文件路径为 "/etc/ssh/ssh_host_ed25519_key"-q
:指定以静默模式生成密钥对,不输出额外信息-N ''
:设置私钥的密码为空
这些命令将生成三对不同类型的 SSH 密钥对,用于在 SSH 通信中进行身份验证和加密。这些密钥对分别是 RSA、ECDSA 和 Ed25519 类型的密钥对。生成的公钥和私钥将保存在指定的文件中,私钥的密码被设置为空。
ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -q -N ''
二十八、容器的root密码
passwd
设置密码后,退出容器 exit
二十九、获取dockerID和docker名
dockerid=$(docker ps -a | awk '{print $1}' | sed 1d) && echo $dockerid
三十、生成docker镜像
输入命令登录回容器
docker run -it -m 300M --memory-swap 300M centos /bin/bash
查看所有容器
docker ps -a
找到设置好的snowmpy
输入生成docker镜像的命令 将中间改为ID
docker commit -m 'centos-ssh' 5b0eca08b488 mpy/centos-sshd
docker image list
查看结果
相关文章:

Docker 容器化(初学者的分享)
目录 一、什么是docker 二、docker的缺陷 三、简单的操作 一、首先配置一台虚拟机 二、安装Docker-CE 一、安装utils 二、 将 Docker 的软件源添加到 CentOS 的 yum 仓库中。这样可以通过 yum 命令来安装、更新和管理 Docker 相关的软件包。 三、将 download.docker.co…...

LCS 01.下载插件
题目来源: leetcode题目,网址:写文章-CSDN创作中心 解题思路: 假设需要 n 分钟下载插件,前 n-1 分钟将带宽加倍,最后一分钟下载时总时间最少。 解题代码: class Solution { public:int l…...

架构-设计原则
1、面向对象的SOLID 1.1 概述 SOLID是5个设计原则开头字母的缩写,其本身就有“稳定的”的意思,寓意是“遵从SOLID原则可以建立稳定、灵活、健壮的系统”。5个原则分别如下: Single Responsibility Principle(SRP)&am…...

在 Python 3 中释放 LightGBM 的力量:您的机器学习大师之路
机器学习是 Python 占据主导地位的领域,它一直在给全球各行各业带来革命性的变化。要在这个不断变化的环境中脱颖而出,掌握正确的工具是关键。LightGBM 就是这样一个工具,它是一个强大且快速的梯度提升框架。在这份综合指南中,我们将通过实际示例和示例数据集从基础知识到高…...

Spring学习笔记(2)
Spring学习笔记(2) 一、Spring配置非定义Bean1.1 DruidDataSource1.2、Connection1.3、Date1.4、SqlSessionFactory 二、Bean实例化的基本流程2.1 BeanDefinition2.2 单例池和流程总结 三、Spring的bean工厂后处理器3.1 bean工厂后处理器入门3.2、注册Be…...

cmd使用ssh连接Linux脚本
前言 在开发过程中,由于MobaXterm,我不知道怎么分页(不是屏内分页),用crtlTab,用起来不习惯,主要是MobaXterm连接了多个服务器,切换起来很麻烦。我是比较习惯使用altTab,…...

Python万圣节蝙蝠
目录 系列文章 前言 蝙蝠 程序设计 程序分析 运行结果 尾声 系列文章 序号文章目录直达链接1浪漫520表白代码https://want595.blog.csdn.net/article/details/1306668812满屏表白代码https://want595.blog.csdn.net/article/details/1297945183跳动的爱心https://want5…...

TCP流套接字编程
文章目录 前言TCP 和 UDP 的特点对比TcpEchoServer 服务端实现1. 创建 ServerSocket 类实现通信双方建立连接2. 取出建立的连接实现双方通信3. 服务端业务逻辑实现关闭资源服务端整体代码 TcpEchoClient 客户端实现1. 创建出 Socket 对象来与服务端实现通信2. 实现客户端的主要…...

Python迭代器创建与使用:从入门到精通
一、可迭代对象 1、 什么是可迭代对象? 表示可以逐一迭代或者遍历的对象,序列:列表、元组、集合、字符串。非序列:字典、文件。自定义对象:实现了__iter__()方法的对象;实现了使用整数索引的 getitem()方…...

mac虚拟机安装homebrew时的问题
安装了mac虚拟机,结果在需要通过“brew install svn”安装svn时,才注意到没有下载安装homebrew。 于是便想着先安装homebrew,网上查的教程大多是通过类似以下命令 “ruby <(curl -fsSkL raw.github.com/mxcl/homebrew/go)” 但是都会出现…...

学信息系统项目管理师第4版系列32_信息技术发展
1. 大型信息系统 1.1. 大型信息系统是指以信息技术和通信技术为支撑,规模庞大,分布广阔,采用多级 网络结构,跨越多个安全域;处理海量的,复杂且形式多样的数据,提供多种类型应用 的大系统 1.1.…...

Vue3 + Nodejs 实战 ,文件上传项目--大文件分片上传+断点续传
目录 1.大文件上传的场景 2.前端实现 2.1 对文件进行分片 2.2 生成hash值(唯一标识) 2.3 发送上传文件请求 3.后端实现 3.1 接收分片数据临时存储 3.2 合并分片 4.完成段点续传 4.1修改后端 4.2 修改前端 5.测试 博客主页:専心_前端…...

宏(预编译)详解
目录 一、程序的编译环境 二、运行环境 三、预编译详解 3.1预定义符号 3.2.1 #define 定义标识符 3.2.2 #define 定义宏 3.2.3#define替换规则 3.2.4 #和## 2)##的作用: 3.2.5宏和函数的对比 3.2.6宏的命名约定和#undef指令 一、命名约定: …...

hue实现对hiveserver2 的负载均衡
如果你使用的是CDH集群那就很是方便的 在Cloudera Manager中,进入HDFS Service 进入Instances标签页面,点击Add Role Instances按钮,如下图所示 点击Continue按钮,如下图所示 返回Instances页面,选择HttpFS角色…...

SkyWalking 告警规则配置说明
Skywalking告警功能是在6.x版本新增的,其核心由一组规则驱动,这些规则定义在config/alarm-settings.yml 文件中。告警规则定义分为两部分: 1、告警规则:它们定义了应该如何触发度量警报,应该考虑什么条件 2、webhook(网络钩子):定义当告警触发时,哪些服务终端需要被…...

HTML 表单笔记/练习
表单 概述 表单用于收集用户信息,用户填写表单提交到服务器 一般传参方式: GETPOSTCookie 传参要素 传参方式 GETPOST 参数的名字目标页面内容的数据类型(只有在上传文件的时候) 提示信息 一个表单中通常还包含一些说明性的文…...

关于Java Integer和Long使用equals直接比较
Integer和Long不能直接equals比较会返回False Long.class源码 public boolean equals(Object obj) {if (obj instanceof Long) {return this.value (Long)obj;} else {return false;} }Integer.class源码 public boolean equals(Object obj) {if (obj instanceof Integer) {…...

nodejs+vue衣服穿搭推荐系统-计算机毕业设计
模块包括主界面,系统首页、个人中心、用户管理、风格标签管理、衣服分类管理、衣服穿搭管理、服装信息管理、我的搭配管理、用户反馈、系统管理等进行相应的操作。无论是日常生活,还是特定场景,诸如面试、约会等,人们都有展现自我…...

Java并发面试题:(七)ThreadLocal原理和内存泄漏
ThreadLocal是什么? ThreadLocal是线程本地存储机制,可以将数据缓存在线程内部。ThreadLocal存储的变量在线程内共享的,在线程间又是隔离的。 ThreadLocal实现原理? ThreadLocal的底层是ThreadLocalMap,每个Thread都…...

香港服务器在国内访问太慢怎么能提高?
一直以来,全球化业务需求的增长是跟随着蓬勃向上的互联网而发展的。有了网络,海外贸易就在鼠标的轻点中完成。而IDC市场中的香港服务器也因为免备案政策的特性,开始逐渐成为企业想要跨越地域壁垒而考虑的对象。但在使用过程中ÿ…...

使用Proxyman抓取Android的https请求
使用Proxyman抓取Android的https请求 有时,您可能需要测试您的移动应用程序并检查与其关联的所有网络请求。在网络上,此任务非常简单,只需按Ctrl Shift I打开开发人员工具即可。从那里,您可以导航到网络选项卡并检查与网页相关的…...

基础MySQL的语法练习
基础MySQL的语法练习 create table DEPT(DEPTNO int(2) not null,DNAME VARCHAR(14),LOC VARCHAR(13) );alter table DEPTadd constraint PK_DEPT primary key (DEPTNO);create table EMP (EMPNO int(4) primary key,ENAME VARCHAR(10),JOB VARCHAR(9),MGR …...

RAID和LVM配置指南:创建、扩容和管理RAID设备和逻辑卷的方法
文章目录 1. 简介1.1 什么是RAID和LVM1.2 RAID和LVM的作用和优势 2. RAID配置命令:mdadm2.1 安装mdadm2.2 创建RAID设备2.2.1 RAID 02.2.2 RAID 12.2.3 RAID 52.2.4 RAID 10 2.3 添加磁盘到RAID设备2.4 删除磁盘从RAID设备2.5 查看和管理RAID设备2.6 故障处理与恢复…...

MapStruct使用方法
一、用途 1.1 优势 与动态映射框架相比,MapStruct 具有以下优势: (1)通过使用普通方法getter、setter调用,而不是反射来快速执行,效率很高。 (2)编译时类型安全:只能映…...

【LeetCode】50. Pow(x, n)
1 问题 实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即, x n x^n xn )。 示例 1: 输入:x 2.00000, n 10 输出:1024.00000 示例 2: 输入:x 2.10000, n 3 输出&a…...

vue2技能树(2)-模板语法、vue的工具链、渐进式框架
目录 Vue2技能树Vue 2 简单的模板语法详解插值绑定属性指令v-if 和 v-elsev-forv-on 计算属性过滤器插槽 Vue 2 生态系统详解1. Vue Router2. Vuex3. Vue CLI4. Axios5. Vue Devtools6. Element UI、Vuetify、Quasar等UI框架7. Nuxt.js8. Vue Apollo、Vue Router、Vue Fire等插…...

【Git系列教程-目录大纲】
《Git系列教程-目录大纲》 完完全全从零开始深入学习Git,教程配图200张,其中包括包括Git基本命令、命令原理、Git底层命令、分支、分支的原理、Git代码冲突原理/解决、tag标签、Git存储状态、分支合并原理、典型合并、快进合并、同轴开发、非同轴开发、…...

【高等数学】导数与微分
文章目录 1、导数的概念1.1、引例1.1.1、变速直线运动瞬时速度1.1.2、曲线的切线 1.2、导数的定义1.3、证明常用导数1.4、导数的几何意义1.5、可导与连续的关系 2、函数的求导法则2.1、函数的和、差、积、商的求导法则2.2、反函数的求导法则2.3、复合函数的求导法则2.4、基本初…...

springboot之quartz动态可控定时任务
Quartz Quartz是一个开源的任务调度框架,可以用来实现定时任务的调度,如定时发送邮件、定时备份数据等。Quartz具有很高的可靠性和灵活性,支持集群部署和分布式调度,并且提供了丰富的API和插件,可以轻松实现复杂的调度…...

什么是CSS的外边距重叠?
区块的上下外边距有时会合并(折叠)为单个边距,其大小为两个边距中的最大值(或如果它们相等,则仅为其中一个),这种行为称为外边距折叠。注意:有设定浮动和绝对定位的元素不会发生外边…...