Docker:namespace隔离实战

上一篇:容器化和虚拟化

namespace

namespace通过一种内核技术来实现,允许将不同的系统资源隔离和封装到独立的命名空间中。

为容器化、虚拟化和隔离提供强大的基础。通过使用namespace技术,Linux内核可以创建多个独立的命名空间,每个命名空间都可以拥有独立的资源视图和配置信息,使得不同进程或容器可以在各自的独立环境中运行,而互不干扰。

操作系统利用进程空间隔离来确保一个进程的崩溃或异常不会影响其他进程的稳定性和可靠性。

namespace 隔离实战

dd命令

是一个在Unix和类Unix系统中用于转换和复制文件的命令行工具。
它常用于创建特定大小的文件、备份整个分区或磁盘、以及在不同格式之间转换文件。

格式

dd if=<输入文件> of=<输出文件> [选项]

if:指定输入文件。如果省略,默认为标准输入(stdin)。
of:指定输出文件。如果省略,默认为标准输出(stdout)。

基本选项

  • bs=<字节数>:设置读写的块大小(bytes)。例如,bs=1M 表示每次读写 1 MB。
  • count=<块数>:仅复制指定数量的块。
  • skip=<块数>:在输入文件中跳过指定数量的块。
  • status=level:显示命令的状态。level 可以是 none(不显示任何状态)、noxfer(不显示传输速度)或 progress(显示进度)。
  • conv=<转换选项>:指定数据转换选项。例如,conv=ascii 将数据从 EBCDIC 转换为 ASCII,conv=swab 交换每对输入字节。

测试一下:

dd if=/dev/zero of=test.img bs=8k count=1024
dd if=in.txt of=out.txt conv=ucase

在这里插入图片描述

  • if=/dev/zero: if代表输入文件(input file)。/dev/zero是一个特殊的文件,读取它会产生无限的零(0x00字节)。使用/dev/zero作为输入源,dd命令会生成一个由零组成的文件。
  • of=test.img: of代表输出文件(output file)。这里指定输出文件的名称为test.img。
  • bs=8k: bs代表块大小(block size)。这里设置为8k,意味着每次读写操作的块大小为8KB(8192字节)。
  • count=1024: count代表要复制的块的数量。这里设置为1024,由于每个块大小为8KB,所以总共会复制1024个8KB的块,即总大小为8192KB(8MB)。

在这里插入图片描述

mkfs命令

mkfs命令是Linux系统中用于在特定的分区上建立Linux文件系统的命令,全称为“make filesystem”。

mkfs命令主要用于在设备上构建Linux文件系统,通常是硬盘分区。通过该命令,用户可以在指定的分区上创建不同类型的文件系统,如ext2、ext3、ext4、ms-dos、vfat、xfs等。默认情况下,如果不指定文件系统类型,mkfs会创建ext2文件系统。

基本格式:

mkfs [options] [-t <type>] [fs-options] <device> [<size>]

常用选项

  • -V或–verbose:详细显示命令执行过程。
  • -t或–type=:指定要创建的文件系统类型。
  • -c:在创建文件系统前,检查分区是否有坏轨。
  • -l bad_blocks_file:将有坏轨的block资料加到指定的文件中。
  • -b:指定新文件系统的块大小。
  • -i:指定文件系统上的i-nodes的初始数量(在创建日志文件系统时忽略此标记)。
  • -o:指定用逗号分隔的虚拟文件系统实现细节选项列表。

测试一下:

mkfs -t ext4 ./test.img

在这里插入图片描述

df命令

df命令是Linux系统中用于显示文件系统的磁盘空间使用情况的命令。

df [选项] [文件或目录...]

基本选项

  • -h或–human-readable:以易读的格式(如K、M、G)显示磁盘空间大小。
  • -T或–print-type:显示文件系统的类型。
  • -i或–inodes:显示inode(索引节点)的使用情况,而不是块使用情况。inode是Linux文件系统中用于存储文件和目录的元数据结构。
  • -a或–all:显示所有文件系统,包括虚拟文件系统(如proc、sysfs等)和没有被挂载的文件系统。
  • -l或–local:仅显示本地文件系统,不包括网络文件系统(如NFS)。
  • -t <文件系统类型>或–type=<文件系统类型>:仅显示指定类型的文件系统的磁盘空间使用情况。
  • -x <文件系统类型>或–exclude-type=<文件系统类型>:排除指定类型的文件系统。
  • -P或–portability:使用POSIX的输出格式。
  • -k或–kilobytes:以KB为单位显示磁盘空间使用情况。
  • -m或–megabytes:以MB为单位显示磁盘空间使用情况。

在这里插入图片描述

mount命令

mount命令在Linux系统中用于挂载文件系统,即将存储设备(如硬盘分区、CD-ROM、USB驱动器或网络共享)的文件系统关联到当前文件系统的某个目录上,以便用户可以通过该目录访问存储设备中的数据。

格式

mount [-选项] 设备名 挂载点

常用选项

  • -a:挂载/etc/fstab文件中定义的所有未挂载的文件系统。
  • -f:不实际执行挂载操作,通常与-v一起使用来测试或调试挂载命令。
  • -F:结合-a使用时,对于每一个挂载动作产生一个子进程执行挂载,有助于加快大量挂载操作的速度。
  • -h:显示帮助信息。
  • -n:不将挂载信息写入/etc/mtab文件,这个选项在某些特殊情况下,例如没有可写文件系统时有用。
  • -r:以只读模式挂载文件系统。
  • -t vfstype:指定文件系统的类型,例如ext4、xfs、nfs、cifs等。

设备名:要挂载的物理设备或远程资源的路径,如/dev/sda1或/server/share。
挂载点:挂载设备的本地目录,即希望访问设备内容的位置,如/mnt/mydrive。在挂载之前,需要确保挂载点目录已经存在。

测试一下:

sudo mount ./test.img /data/testymount

在这里插入图片描述

unshare命令

unshare命令允许用户指定不共享父进程中的某些命名空间,并在新的命名空间中运行指定的程序。这可以用于实现进程和资源的隔离,类似于Linux容器的工作方式。

格式

unshare [options] [command [arguments]]

基本选项

  • -m 或 --mount:创建一个新的挂载命名空间。在该命名空间中,进程将有自己独立的文件系统视图。
  • -n 或 --net:创建一个新的网络命名空间。这允许进程在独立的网络环境中运行。
  • -p 或 --pid:创建一个新的进程命名空间。在该命名空间中,进程将拥有自己独立的进程号空间。
  • -u 或 --user:创建一个新的用户命名空间。这可以用于隔离用户ID和组ID。
  • -U 或 --uts:创建一个新的UTS命名空间。UTS命名空间用于隔离主机上的主机名和域名。
  • -i 或 --ipc:创建一个新的IPC(进程间通信)命名空间。这用于隔离进程间通信资源,如消息队列、信号量和共享内存。
  • –fork:在新的命名空间中启动一个新的子进程来运行指定的程序,而不是直接运行它。这对于创建新的PID命名空间特别有用。

测试一下:

sudo unshare -u /bin/bash

在这里插入图片描述

PID隔离

sudo unshare -p /bin/bash

在这里插入图片描述

sudo unshare -p --fork /bin/bash
sudo unshare -p --fork --mount-proc /bin/bash

在这里插入图片描述

mount隔离

unshare --mount --fork /bin/bash
mount -t ext4 data2.img /data/maxhou/data2mount

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

生物医药产业前景如何?怎样开展生物医药产业分析?

▶生物医药产业前景 生物医药产业的前景是非常广阔的&#xff0c;主要呈现以下几大特点&#xff1a; 1.市场规模增长&#xff1a;预计到2029年&#xff0c;中国医药制造规上企业营业收入将达到5.4万亿元&#xff0c;2024-2029年年均增长率达到14.04%。这表明生物医药产业将继…

Ubuntu用docker安装AWVS和Nessus(含破解)

Ubuntu安装AWVS(更多搜索&#xff1a;超详细Ubuntu用docker安装AWVS和Nessus) 首先安装docker&#xff0c;通过dockers镜像安装很方便&#xff0c;且很快&#xff1b;Docker及Docker-Compose-安装教程。 1.通过docker search awvs命令查看镜像&#xff1b; docker search awvs…

大模型微调技术 --> P-Tuning v1和 P-Tuning v2

P-Tuning 是一种通过引入可学习的 提示 向量来增强预训练语言模型能力的技术&#xff0c;属于提示学习的一种。 1.背景 GPT 在 NLP 领域经过 finetuning 之后很难击败 BERT&#xff0c;主要是因为现在预训练模型的方法有很多种(主要是 MLM)&#xff0c;但在 finetune 的时候&…

Angular引用控件类

说明&#xff1a; angular 在一个控件类里面&#xff0c;引入另外一个控件类&#xff0c;这样做的好处&#xff0c;就是代码分离&#xff0c;当你一个页面存在多少类似于独立的界面时&#xff0c;可以使用这种方式&#xff0c;分离代码 更好维护程序 效果图&#xff1a; step…

124.WEB渗透测试-信息收集-ARL(15)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;123.WEB渗透测试-信息收集-ARL&#xff08;14&#xff09; 点击fofa任务下发&#xff08…

Linux命令 - 关于命令及其使用

文章目录 1 什么是命令&#xff1f;2 识别命令3 命令帮助文档4 命令别名 1 什么是命令&#xff1f; 命令可以是以下四种形式之一&#xff1a; 可执行程序&#xff1a;就像我们所看到的位于/usr/bin目录中的文件一样&#xff0c;这一类程序可以是用诸如C和C语言编写的程序编译…

【万字详文介绍】:迭代扩张卷积神经网络(IDCNN)

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

220V变5V300mA非隔离芯片WT5104

220V变5V300mA非隔离芯片WT5104 WT5104特点包括&#xff1a; - 宽输入电压&#xff1a;85VAC~265VAC&#xff0c;适应全球电网电压波动。 - 输出规格&#xff1a;稳定5V直流电&#xff0c;最大电流500mA&#xff0c;适用于轻功率电子设备。 - 工作模式灵活&#xff1a;支持CCM…

WonderWorld: Interactive 3D Scene Generation from a Single Image 论文解读

目录 一、概述 二、相关工作 1、新视图生成 2、单视图3D场景生成 3、视频生成 4、快速的3D场景表示 三、WonderWorld 1、FLAGS表示 2、引导深度扩散模块 3、单视角层次生成 4、基于几何的初始化 surfel表示 5、阶段一——生成3D场景部分 6、阶段二——用户交互控…

kkfileview4.2.1 LibreOffice_7.1.4_Linux_x86-64_rpm.tar.gz

问题 java.lang.IllegalStateException: officeHome doesnt exist or is not a directory: optlibreoffice7.1 安装 kkfileview4.2.1 LibreOffice_7.1.4_Linux_x86-64_rpm.tar.gz 测试 全过程脚本 [zengwenfenglocalhost Desktop]$ pwd /home/zengwenfeng/Desktop [zengwe…

可编辑71页PPT | 企业架构及典型设计方案

荐言分享&#xff1a;企业架构&#xff08;Enterprise Architecture, EA&#xff09;是战略与技术之间的桥梁&#xff0c;旨在确保企业的信息系统、业务流程、组织结构和技术基础设施能够协同工作&#xff0c;以支持企业的整体战略目标。它通过定义一套标准化的框架、原则、模型…

python代码获取zabbix上机器磁盘使用率

1.需要先给机器打上标记os_type: Linux或者os_type: Windows 2.代码请求获取数据&#xff1a; 先装一下相关的数据包 pip install pyzabbix from pyzabbix import ZabbixAPI import requests import urllib3 import concurrent.futuresclass ZabbixInfo():def __init__(self…

一个完整的crm系统都应该具备哪些功能?CRM系统功能盘点

前段时间我们去拜访一位企业老板&#xff0c;正好他们在开会&#xff0c;团队正在讨论如何与一位潜在的大客户达成交易。 客户对产品表现出浓厚的兴趣&#xff0c;也提出了一些具体的问题&#xff0c;例如上一次交易的详细信息、服务响应时间以及可能的折扣方案&#xff0c;但…

导师双选系统开发:Spring Boot技术详解

第一章 绪论 1.1 选题背景 如今的信息时代&#xff0c;对信息的共享性&#xff0c;信息的流通性有着较高要求&#xff0c;尽管身边每时每刻都在产生大量信息&#xff0c;这些信息也都会在短时间内得到处理&#xff0c;并迅速传播。因为很多时候&#xff0c;管理层决策需要大量信…

CTF顶级工具与资源

《Web安全》http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247484238&idx1&snca66551c31e37b8d726f151265fc9211&chksmc0e47a12f793f3049fefde6e9ebe9ec4e2c7626b8594511bd314783719c216bd9929962a71e6&scene21#wechat_redirect 《网安面试指南》h…

数列分块入门

本期是数列分块入门。其中的大部分题目来自hzwer在LOJ上提供的数列分块入门系列。 Blog:here (其实是对之前分块的 blog 的整理补充) sto hzwer orz %%% [转载] ---------------------------------------------------------------------------------…

模型自动绑骨,在线生成动画,神奇的网站《Mixamo》

英文名mixamo 网站地址&#xff1a;Mixamohttps://www.mixamo.com/#/首先进入需要注册&#xff0c;国内的手机号就可以&#xff0c;但是会有一些慢&#xff0c;多试几次 1、进入界面如下 2、载入自己的模型 2、绑定骨骼 拖动这几个有颜色的圈圈分别对应右图位置&#xff0c;点…

2024 CSS保姆级教程四

CSS中的动画 CSS动画&#xff08;CSS Animations&#xff09;是为层叠样式表建议的允许可扩展标记语言&#xff08;XML&#xff09;元素使用CSS的动画的模块​ 即指元素从一种样式逐渐过渡为另一种样式的过程​ 常见的动画效果有很多&#xff0c;如平移、旋转、缩放等等&#…

Docker安装anythingllm

拉镜像 docker pull mintplexlabs/anythingllm 启动 anythingllm docker run -d --name anythingllm --add-hosthost.docker.internal:host-gateway --env STORAGE_DIR/app/server/storage --health-cmd "/bin/bash/usr/local/bin/docker-healthcheck.sh || exit 1"…

格行:从新晋网红到国货之光,它究竟做对了什么?

作为一家迅速崛起的新消费品牌&#xff0c;近两年来&#xff0c;格行饱受质疑。 无论是商家还是消费者&#xff0c;都有人对其爱之恨之&#xff0c;喜欢它的人&#xff0c;认为它是正义的化身&#xff0c;价格的屠夫&#xff0c;国货的骄傲&#xff0c;原本需要花几百才能买到…