stratis,容器podman

一、stratis

1.stratis可以实现动态的在线扩容,lvm虽然也可以实现在线扩容,但是是需要人为的手动扩容。

2.stratis不需要手动格式化,自动会创建文件系统(默认是xfs)

1. 安装stratis软件包

yum list | grep  stratis (查看关于stratis的包)

yum install stratisd.x86_64  -y

yum install stratis-cli.noarch -y

2. 启动stratis服务

systemctl start stratisd.service

systemctl enable stratisd.service

systemctl status stratisd.service

3.添加一块硬盘大小为11G

添加完成后,stratis的使用方法。

man  stratis  ----》 /EXAMPLE查看例子

(1)创建存储池(就是将多个硬盘整合成一个存储池)

stratis pool create 存储池名  磁盘路径1  磁盘路径2

(2)从存储池中,创建文件系统

stratis filesystem create 存储池名  文件系统名

(3)查看stratis文件系统的路径

stratis filesystem list

/dev/stratis/存储池名/文件系统名

(4)对于stratis的文件系统的永久挂载 

存储路径 挂载点 xfs defaults,x-systemd.requires=stratisd.service 0 0

Mount  存储路径     挂载点

二、容器(podman兼容docker)

1.容器简介

容器是一个虚拟化技术,它可以将软件运行所需的环境一起打包运行,从而减少运维是由于环境不兼容等带来的麻烦。

容器技术和传统的虚拟化技术有什么区别?

1.容器是针+对内核级别的虚拟化技术,而传统的一些虚拟化技术针对的是操作系统级别的虚拟化技术,所以容器的响应速度更快。

2.容器所处的系统环境是专门定制的,所以容器可以更加小巧。

小程序的集合

2.容器技术里的三个概念

1.镜像:由开发人员专门为某个服务定制的容器安装包。

通过镜像来安装产生不同的容器,可以理解为yum仓库中的rpm安装包,可以通过rpm包来安装不同软件

2.容器:由镜像运行产生的实例。

3.仓库:专门用来存放镜像的地方。

类似于yum仓库,里面是各种rpm包,那镜像仓库就是下载镜像的地方

注意:不要把容器想的太复杂,把容器类比成一个软件,那么我们今天主要就是讲如何下载软件,安装软件,运行软件,软件的开机自启。

三、实操:

一、 搭建容器仓库

(1)安装容器所需要的工具(当前环境不支持)

yum module list | grep tool

yum module install container-tools -y

查看podman版本 podman -v  >1.9+

(2)配置镜像仓库

cp /etc/containers/registries.conf /etc/containers/backup   (备份配置文件)

vim registries.conf  (编辑配置文件)

unqualifed-search-registries = ['registry.access.redhat.com','registry.redhat.io','docker.io']

short-name-mode = 'permissive'(podman3.0+的写法)(Podman添加私有镜像源配置 registries.conf-CSDN博客  3.0一下写法)

清华大学:https://mirror.tuna.tsinghua.edu.cn/alpine/

阿里云:https://mirrors.aliyun.com/alpine/

网易:http://mirrors.163.com/

1.下载镜像

podman (image) pull  仓库地址/镜像名:版本

podman pull docker.io/httpd      拉取httpd有关镜像

示例:

podman image pull docker.io/library/ubuntu:latest  拉取ubuntu有关镜像

2.查看本地镜像

podman images

podman image list

3.删除镜像

podman image rm 本地镜像

4. 根据镜像来运行启动容器

podman run -it --name ubuntu1  ubuntu

-i 以交互的方式启动

-t 打开伪终端

--name  给容器起一个别名

-d 在后台运行(注意:不是所有的容器都支持后台运行。)

5. 查看运行中容器

podman ps 

启动容器状态为Exited的容器

podman start  容器ID 或 容器名称

6. 查看所有的容器

podman ps -a

7. 删除容器podman rm  容器名0

注意:删除前,必须先把容器停止

podman stop 容器名 或 容器ID

8. 进入容器内部运行命令(此容器必须是在运行中)

podman exec  -it 容器名 /bin/bash

exit     从容器内部退出

9.查看容器信息

podman inspect  容器名   (| grep IPAddress 例如获取ip地址)

10.本地主机和容器的端口映射

-p  本地端口:容器端口

podman  run --name web -d -p 8888:80 httpd

通过本地的ip地址:8888即可访问容器ip:80的内容。

11.容器的外部存储

-v 本地存储路径:容器内的存储路径:z (容器的存储路径只是作为一个入口,真正的数据保存在本地主机的存储路径上,z的作用保证上下文一致。)容器存储地址:/usr/local/apache2/htdocs

podman run --name web -d -p 8888:80 -v /opt/html:/usr/local/apache2/htdocs:z   httpd

podman inspect  容器名 | grep Source -A 1

12.给容器传入参数

podman run -d --name  mysql_test  -e  MYSQL_ROOT_PASSWORD=123456  mysql

                     docker.io/library/mysql

13. 停止容器

podman  stop 容器名

14. 运行已停止的容器

podman start 容器名

四、容器的开机自启

容器的开机自启,其实就是根据容器来生成对应的容器服务,然后对容器服务实现开机自启。

1.普通用户下开机自启

1.创建普通用户,并设置密码

useradd student01

passwd student01

2. 使用ssh方式登录到普通用户(注意:绝对不能使用su – 来登录,使用su – 的话它不会加载服务的配置环境)

(1)注销当前用户,从登录界面完成普通用户的登录

(2)使用ssh登录

ssh student01@localhost

servera root  ssh root@servera

3. 首先设定容器随系统开机自启

Systemctl --user enable 服务名称         服务开机自启

loginctl enable-linger         允许普通用户服务驻留系统

loginctl show-user student01        查看设置允许普通用户服务驻留系统是否成功,看到linger=yes代表成功。

Linger=yes

4.创建容器服务所需目录(这个目录的创建需要记住对应路径)

mkdir -p ~/.config/systemd/user

5.创建容器

podman run -d --name web1 httpd

6. 进入~/.config/systemd/user,然后根据容器来创建对应的容器服务

cd ~/.config/systemd/user

podman generate systemd --name web1 --files  将web1容器注册成用户级别的服务

7. 根据服务来控制容器

systemctl --user  daemon-reload  重新加载服务,读取到新创建的容器服务

systemctl --user start container-web1.service  开启

systemctl --user enable container-web1.service  开机自启

2.root用户下的开机自启

root用户的开启自启,流程和普通用户一致

不同点在于:

1.以root用户身份运行 loginctl enable-linger

2.在/etc/systemd/system/目录下直接创建服务即可。

3.使用systemctl命令不需要加上--user

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

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

相关文章

音频焦点 Android Audio Focus

Android 音频焦点详解 音频焦点(Audio Focus)是 Android 系统用于协调多个应用同时访问音频输出的机制。当多个应用需要播放音频时,音频焦点确保用户听到的内容不会混乱(如多个音乐应用同时播放)。以下从核心概念、使…

【用 Trace读源码】PlanAgent 执行流程

前提条件 在 Trae 中打开 OpenManus 工程,使用 build 模式,模型选择 claude-sonnet-3.7 提示词 分析 agent/planning.py 中 main 方法及相关类的执行流程,以流程图的方式展示PlanningAgent 执行流程图 以下流程图展示了 PlanningAgent 类…

1、双指针法

关于每个知识点的例题 可以自己看力扣标准题解。也可以在哔哩哔哩上看。想看我的,就到github 看 - 库 ,介绍里写的算法讲解那些,里面有知识点,有题库。题库,每天都发题,可能跟博客的进度不一样。因为我上传…

LangChain 基础

一、LangChain 模块和体系 LangChain 是一个用于开发由大型语言模型(LLMs)驱动的应用程序的框架。 官方文档:https://python.langchain.com/docs/introduction/ LangChain 简化了LLM应用程序生命周期的每个阶段: 开发&#xf…

#echarts#折线图#饼图

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>折线图</title> </head> <body><div id"app" style"width:100%;height:100%;"><div id"chart-c…

Parsing error: Unexpected token, expected “,“

今天在使用Trae AI 编程工具开发大文件切片上传功能&#xff0c;使用的是VUE3,TS技术栈&#xff0c;开发完成运行时&#xff0c;编译报错&#xff08;Parsing error: Unexpected token, expected ","&#xff09;&#xff0c;让AI自行修复此问题多次后还是没有解决&a…

NLP高频面试题(九)——大模型常见的几种解码方案

大模型常见的几种解码方案 在自然语言生成任务中&#xff0c;如何从模型生成的概率分布中选择合适的词汇&#xff0c;是影响文本质量的关键问题。常见的解码方法包括贪心搜索&#xff08;Greedy Search&#xff09;、束搜索&#xff08;Beam Search&#xff09;、随机采样&…

农用车一键启动工作原理

移动管家农用车一键启动的工作原理与普通汽车类似&#xff0c;主要依赖于无线射频识别技术&#xff08;RFID&#xff09;。以下是具体的工作步骤和原理&#xff1a; 智能钥匙识别&#xff1a; 车主携带智能钥匙靠近车辆时&#xff0c;钥匙通过发射射频信号与车辆进行交互。车辆…

Cursor从小白到专家

文章目录 1&#xff1a;简单开发一个贪吃蛇游戏规则设置提示词 cursor开发小工具开发整体步骤创建.cursorrules输入提示词composer模式chat模式 执行cursor accept all发布到线上进行分享 cursor开发一个浏览器插件创建.cursorrulescursor rules范例集工具 输入提示词执行curso…

MAC+PHY 的硬件连接

文章目录 以太网的 MAC 与 PHY简介硬件拓扑CPU集成MAC与PHYCPU集成MAC&#xff0c;PHY采用独立芯片CPU不集成MAC与PHY&#xff0c;MAC与PHY采用集成芯片 在 OSI 分层中的位置MACPHYMAC 与 PHY 数据交互参考 本文为笔者学习以太网对网上资料归纳整理所做的笔记&#xff0c;文末均…

仿函数 VS 函数指针实现回调

前提&#xff1a; 本博客对比 函数指针实现回调 和 仿函数 &#xff0c;突出仿函数的优势。 目的&#xff1a; 一个类要能够灵活的调用两个函数&#xff0c;essfc 和 greaterfc&#xff0c;分别用于比较两个整数的大小&#xff1a; ①&#xff1a;lessfc&#xff1a;判断 x …

CH32V208蓝牙内部带运放32位RISC-V工业级微控制器

开发板 CH32V208CBU6立创格式的开发板上述链接可下载&#xff0c;官方文件进行了转换&#xff0c;使用前请仔细核对。 CH32V208CBU6原理图&#xff0c;上述图片为芯片部分。已进行DRC。 CH32V208CBU6 PCB三维图&#xff0c;上述图片为芯片部分。已进行DRC。 概述 CH32V208C…

整理和总结微信小程序的高频知识点

前言 近期萌生了一些想法&#xff0c;感觉可以做一个小程序作为产出。 但小程序做得比较少&#xff0c;因此边做边复习。整理和总结了一些高频知识点和大家一起分享。 一、模板和组件 1.1模板&#xff08;Template&#xff09; 优势 简单灵活&#xff1a;模板定义和使用都较…

1996-2023年各省公路里程数据(无缺失)

1996-2023年各省公路里程数据&#xff08;无缺失&#xff09; 1、时间&#xff1a;1996-2023年 2、来源&#xff1a;国家统计局、统计年鉴 3、指标&#xff1a;公路里程&#xff08;万公里&#xff09; 4、范围&#xff1a;31省 5、指标解释&#xff1a;公路里程指报告期末…

SEARCH-R1:大型语言模型的多轮搜索推理革命

当AI学会"边搜索边思考" 2025年&#xff0c;语言模型领域迎来重大突破——SEARCH-R1框架通过强化学习&#xff08;RL&#xff09;让大模型实现"动态搜索自主推理"的协同进化。这项技术不仅让模型在回答"泰坦尼克号沉没时的船长是谁"时能自动检索…

Wi-Fi NAN 架构(Wi-Fi Aware Specification v4.0,第2章:2.7~2.9)

1. NAN 介质访问控制层&#xff08;MAC&#xff09; NAN MAC负责通过参与 NAN同步信标帧&#xff08;NAN Synchronization Beacon frame&#xff09;的传输&#xff0c;获取并维护设备所在的NAN集群的同步。作为同步功能的一部分&#xff0c;NAN MAC运行 TSF 定时器。NAN MAC还…

基于物联网的便携式土壤综合参数检测仪设计

标题:基于物联网的便携式土壤综合参数检测仪设计 内容:1.摘要 随着农业现代化和环境监测需求的不断增长&#xff0c;对土壤综合参数的实时、准确检测变得至关重要。本研究旨在设计一种基于物联网的便携式土壤综合参数检测仪&#xff0c;以满足现场快速检测和数据远程传输的需求…

《Android 13深度定制:手势拦截技术实现SystemUI状态栏智能折叠方案》

核心机制解析 在Android 13的SystemUI定制中&#xff0c;状态栏下拉行为由NotificationPanelViewController控制&#xff0c;其核心逻辑聚焦于手势事件处理和布局动态调整。当用户执行下拉操作时&#xff0c;系统通过onQsIntercept方法拦截滑动事件&#xff0c;并调用setQsExp…

《Python实战进阶》No26: CI/CD 流水线:GitHub Actions 与 Jenkins 集成

No26: CI/CD 流水线&#xff1a;GitHub Actions 与 Jenkins 集成 摘要 持续集成&#xff08;CI&#xff09;和持续部署&#xff08;CD&#xff09;是现代软件开发中不可或缺的实践&#xff0c;能够显著提升开发效率、减少错误并加速交付流程。本文将探讨如何利用 GitHub Actio…

2025.3.22总结

今天去了光谷书店&#xff0c;看了下&#xff0c;书店里女生比较多&#xff0c;也不知道是不是上班族&#xff0c;发现有本类似马克思的书籍&#xff0c;也不知道是不是再考研或者考其他证书的。 图书馆很安静&#xff0c;安静的让我的内心也平静了下来&#xff0c;我也再一旁…