docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > Docker namespace隔离

Docker中namespace隔离的实战

作者:诡异森林。

Namespace是Linux内核的一个功能,用于隔离和管理系统资源,如进程、网络和文件系统等,通过创建隔离的命名空间,系统可以实现容器化和资源隔离,提高系统的安全性和稳定性,这种技术广泛应用于Docker等容器技术中,本文就来介绍一下Docker中namespace隔离的实战

namespace

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

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

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

namespace 隔离实战

dd命令

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

格式

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

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

基本选项

测试一下:

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

在这里插入图片描述

在这里插入图片描述

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>]

常用选项

测试一下:

mkfs -t ext4 ./test.img

在这里插入图片描述

df命令

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

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

基本选项

在这里插入图片描述

mount命令

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

格式

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

常用选项

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

测试一下:

sudo mount ./test.img /data/testymount

在这里插入图片描述

unshare命令

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

格式

unshare [options] [command [arguments]]

基本选项

测试一下:

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

在这里插入图片描述

在这里插入图片描述

到此这篇关于Docker中namespace隔离的实战的文章就介绍到这了,更多相关Docker namespace隔离内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

您可能感兴趣的文章:
阅读全文