欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker中namespace隔離的實(shí)戰(zhàn)

 更新時(shí)間:2024年11月06日 09:36:21   作者:詭異森林。  
Namespace是Linux內(nèi)核的一個(gè)功能,用于隔離和管理系統(tǒng)資源,如進(jìn)程、網(wǎng)絡(luò)和文件系統(tǒng)等,通過創(chuàng)建隔離的命名空間,系統(tǒng)可以實(shí)現(xiàn)容器化和資源隔離,提高系統(tǒng)的安全性和穩(wěn)定性,這種技術(shù)廣泛應(yīng)用于Docker等容器技術(shù)中,本文就來介紹一下Docker中namespace隔離的實(shí)戰(zhàn)

namespace

namespace通過一種內(nèi)核技術(shù)來實(shí)現(xiàn),允許將不同的系統(tǒng)資源隔離和封裝到獨(dú)立的命名空間中。

為容器化、虛擬化和隔離提供強(qiáng)大的基礎(chǔ)。通過使用namespace技術(shù),Linux內(nèi)核可以創(chuàng)建多個(gè)獨(dú)立的命名空間,每個(gè)命名空間都可以擁有獨(dú)立的資源視圖和配置信息,使得不同進(jìn)程或容器可以在各自的獨(dú)立環(huán)境中運(yùn)行,而互不干擾。

操作系統(tǒng)利用進(jìn)程空間隔離來確保一個(gè)進(jìn)程的崩潰或異常不會(huì)影響其他進(jìn)程的穩(wěn)定性和可靠性。

namespace 隔離實(shí)戰(zhàn)

dd命令

是一個(gè)在Unix和類Unix系統(tǒng)中用于轉(zhuǎn)換和復(fù)制文件的命令行工具。
它常用于創(chuàng)建特定大小的文件、備份整個(gè)分區(qū)或磁盤、以及在不同格式之間轉(zhuǎn)換文件。

格式

dd if=<輸入文件> of=<輸出文件> [選項(xiàng)]

if:指定輸入文件。如果省略,默認(rèn)為標(biāo)準(zhǔn)輸入(stdin)。
of:指定輸出文件。如果省略,默認(rèn)為標(biāo)準(zhǔn)輸出(stdout)。

基本選項(xiàng)

  • bs=<字節(jié)數(shù)>:設(shè)置讀寫的塊大?。╞ytes)。例如,bs=1M 表示每次讀寫 1 MB。
  • count=<塊數(shù)>:僅復(fù)制指定數(shù)量的塊。
  • skip=<塊數(shù)>:在輸入文件中跳過指定數(shù)量的塊。
  • status=level:顯示命令的狀態(tài)。level 可以是 none(不顯示任何狀態(tài))、noxfer(不顯示傳輸速度)或 progress(顯示進(jìn)度)。
  • conv=<轉(zhuǎn)換選項(xiàng)>:指定數(shù)據(jù)轉(zhuǎn)換選項(xiàng)。例如,conv=ascii 將數(shù)據(jù)從 EBCDIC 轉(zhuǎn)換為 ASCII,conv=swab 交換每對(duì)輸入字節(jié)。

測(cè)試一下:

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是一個(gè)特殊的文件,讀取它會(huì)產(chǎn)生無限的零(0x00字節(jié))。使用/dev/zero作為輸入源,dd命令會(huì)生成一個(gè)由零組成的文件。
  • of=test.img: of代表輸出文件(output file)。這里指定輸出文件的名稱為test.img。
  • bs=8k: bs代表塊大?。╞lock size)。這里設(shè)置為8k,意味著每次讀寫操作的塊大小為8KB(8192字節(jié))。
  • count=1024: count代表要復(fù)制的塊的數(shù)量。這里設(shè)置為1024,由于每個(gè)塊大小為8KB,所以總共會(huì)復(fù)制1024個(gè)8KB的塊,即總大小為8192KB(8MB)。

在這里插入圖片描述

mkfs命令

mkfs命令是Linux系統(tǒng)中用于在特定的分區(qū)上建立Linux文件系統(tǒng)的命令,全稱為“make filesystem”。

mkfs命令主要用于在設(shè)備上構(gòu)建Linux文件系統(tǒng),通常是硬盤分區(qū)。通過該命令,用戶可以在指定的分區(qū)上創(chuàng)建不同類型的文件系統(tǒng),如ext2、ext3、ext4、ms-dos、vfat、xfs等。默認(rèn)情況下,如果不指定文件系統(tǒng)類型,mkfs會(huì)創(chuàng)建ext2文件系統(tǒng)。

基本格式:

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

常用選項(xiàng)

  • -V或–verbose:詳細(xì)顯示命令執(zhí)行過程。
  • -t或–type=:指定要?jiǎng)?chuàng)建的文件系統(tǒng)類型。
  • -c:在創(chuàng)建文件系統(tǒng)前,檢查分區(qū)是否有壞軌。
  • -l bad_blocks_file:將有壞軌的block資料加到指定的文件中。
  • -b:指定新文件系統(tǒng)的塊大小。
  • -i:指定文件系統(tǒng)上的i-nodes的初始數(shù)量(在創(chuàng)建日志文件系統(tǒng)時(shí)忽略此標(biāo)記)。
  • -o:指定用逗號(hào)分隔的虛擬文件系統(tǒng)實(shí)現(xiàn)細(xì)節(jié)選項(xiàng)列表。

測(cè)試一下:

mkfs -t ext4 ./test.img

在這里插入圖片描述

df命令

df命令是Linux系統(tǒng)中用于顯示文件系統(tǒng)的磁盤空間使用情況的命令。

df [選項(xiàng)] [文件或目錄...]

基本選項(xiàng)

  • -h或–human-readable:以易讀的格式(如K、M、G)顯示磁盤空間大小。
  • -T或–print-type:顯示文件系統(tǒng)的類型。
  • -i或–inodes:顯示inode(索引節(jié)點(diǎn))的使用情況,而不是塊使用情況。inode是Linux文件系統(tǒng)中用于存儲(chǔ)文件和目錄的元數(shù)據(jù)結(jié)構(gòu)。
  • -a或–all:顯示所有文件系統(tǒng),包括虛擬文件系統(tǒng)(如proc、sysfs等)和沒有被掛載的文件系統(tǒng)。
  • -l或–local:僅顯示本地文件系統(tǒng),不包括網(wǎng)絡(luò)文件系統(tǒng)(如NFS)。
  • -t <文件系統(tǒng)類型>或–type=<文件系統(tǒng)類型>:僅顯示指定類型的文件系統(tǒng)的磁盤空間使用情況。
  • -x <文件系統(tǒng)類型>或–exclude-type=<文件系統(tǒng)類型>:排除指定類型的文件系統(tǒng)。
  • -P或–portability:使用POSIX的輸出格式。
  • -k或–kilobytes:以KB為單位顯示磁盤空間使用情況。
  • -m或–megabytes:以MB為單位顯示磁盤空間使用情況。

在這里插入圖片描述

mount命令

mount命令在Linux系統(tǒng)中用于掛載文件系統(tǒng),即將存儲(chǔ)設(shè)備(如硬盤分區(qū)、CD-ROM、USB驅(qū)動(dòng)器或網(wǎng)絡(luò)共享)的文件系統(tǒng)關(guān)聯(lián)到當(dāng)前文件系統(tǒng)的某個(gè)目錄上,以便用戶可以通過該目錄訪問存儲(chǔ)設(shè)備中的數(shù)據(jù)。

格式

mount [-選項(xiàng)] 設(shè)備名 掛載點(diǎn)

常用選項(xiàng)

  • -a:掛載/etc/fstab文件中定義的所有未掛載的文件系統(tǒng)。
  • -f:不實(shí)際執(zhí)行掛載操作,通常與-v一起使用來測(cè)試或調(diào)試掛載命令。
  • -F:結(jié)合-a使用時(shí),對(duì)于每一個(gè)掛載動(dòng)作產(chǎn)生一個(gè)子進(jìn)程執(zhí)行掛載,有助于加快大量掛載操作的速度。
  • -h:顯示幫助信息。
  • -n:不將掛載信息寫入/etc/mtab文件,這個(gè)選項(xiàng)在某些特殊情況下,例如沒有可寫文件系統(tǒng)時(shí)有用。
  • -r:以只讀模式掛載文件系統(tǒng)。
  • -t vfstype:指定文件系統(tǒng)的類型,例如ext4、xfs、nfs、cifs等。

設(shè)備名:要掛載的物理設(shè)備或遠(yuǎn)程資源的路徑,如/dev/sda1或/server/share。
掛載點(diǎn):掛載設(shè)備的本地目錄,即希望訪問設(shè)備內(nèi)容的位置,如/mnt/mydrive。在掛載之前,需要確保掛載點(diǎn)目錄已經(jīng)存在。

測(cè)試一下:

sudo mount ./test.img /data/testymount

在這里插入圖片描述

unshare命令

unshare命令允許用戶指定不共享父進(jìn)程中的某些命名空間,并在新的命名空間中運(yùn)行指定的程序。這可以用于實(shí)現(xiàn)進(jìn)程和資源的隔離,類似于Linux容器的工作方式。

格式

unshare [options] [command [arguments]]

基本選項(xiàng)

  • -m 或 --mount:創(chuàng)建一個(gè)新的掛載命名空間。在該命名空間中,進(jìn)程將有自己獨(dú)立的文件系統(tǒng)視圖。
  • -n 或 --net:創(chuàng)建一個(gè)新的網(wǎng)絡(luò)命名空間。這允許進(jìn)程在獨(dú)立的網(wǎng)絡(luò)環(huán)境中運(yùn)行。
  • -p 或 --pid:創(chuàng)建一個(gè)新的進(jìn)程命名空間。在該命名空間中,進(jìn)程將擁有自己獨(dú)立的進(jìn)程號(hào)空間。
  • -u 或 --user:創(chuàng)建一個(gè)新的用戶命名空間。這可以用于隔離用戶ID和組ID。
  • -U 或 --uts:創(chuàng)建一個(gè)新的UTS命名空間。UTS命名空間用于隔離主機(jī)上的主機(jī)名和域名。
  • -i 或 --ipc:創(chuàng)建一個(gè)新的IPC(進(jìn)程間通信)命名空間。這用于隔離進(jìn)程間通信資源,如消息隊(duì)列、信號(hào)量和共享內(nèi)存。
  • –fork:在新的命名空間中啟動(dòng)一個(gè)新的子進(jìn)程來運(yùn)行指定的程序,而不是直接運(yùn)行它。這對(duì)于創(chuàng)建新的PID命名空間特別有用。

測(cè)試一下:

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

在這里插入圖片描述

在這里插入圖片描述

到此這篇關(guān)于Docker中namespace隔離的實(shí)戰(zhàn)的文章就介紹到這了,更多相關(guān)Docker namespace隔離內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • docker的基本使用及使如何用Docker 運(yùn)行D435i

    docker的基本使用及使如何用Docker 運(yùn)行D435i

    這篇文章主要介紹了docker的基本使用及使如何用Docker 運(yùn)行D435i,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-11-11
  • 使用Docker Compose部快速署ELK(親測(cè)有效)

    使用Docker Compose部快速署ELK(親測(cè)有效)

    這篇文章主要介紹了Docker Compose部署ELK的詳細(xì)過程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • portainer連接遠(yuǎn)程docker的實(shí)現(xiàn)示例

    portainer連接遠(yuǎn)程docker的實(shí)現(xiàn)示例

    本文主要介紹了portainer連接遠(yuǎn)程docker的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • Docker搭建MySQ主從復(fù)制原理

    Docker搭建MySQ主從復(fù)制原理

    這篇文章主要介紹了Docker搭建MySQ主從復(fù)制原理,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • Docker容器與宿主機(jī)相互訪問更方便的方法

    Docker容器與宿主機(jī)相互訪問更方便的方法

    Docker是當(dāng)今使用范圍最廣的開源容器技術(shù)之一,具有高效易用的優(yōu)點(diǎn),然而如果使用Docker時(shí)采取不當(dāng)安全策略,則可能導(dǎo)致系統(tǒng)面臨安全威脅,這篇文章主要給大家介紹了關(guān)于Docker容器與宿主機(jī)相互訪問更方便的方法,需要的朋友可以參考下
    2023-05-05
  • docker常用命令及設(shè)置開機(jī)自啟方式

    docker常用命令及設(shè)置開機(jī)自啟方式

    這篇文章主要介紹了docker常用命令及設(shè)置開機(jī)自啟方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Docker網(wǎng)絡(luò)之單host網(wǎng)絡(luò)及使用案例

    Docker網(wǎng)絡(luò)之單host網(wǎng)絡(luò)及使用案例

    本文重點(diǎn)給大家講解Docker單主機(jī)網(wǎng)絡(luò)的相關(guān)知識(shí)及使用案例,重點(diǎn)是使用案例,感興趣的朋友一起看看吧
    2017-08-08
  • docker 基于golang鏡像構(gòu)建 ssh服務(wù)的方法

    docker 基于golang鏡像構(gòu)建 ssh服務(wù)的方法

    這篇文章主要介紹了docker 基于golang鏡像構(gòu)建 ssh服務(wù)的方法,添加goland環(huán)境變量的方法及centos下sshd和goland環(huán)境的docker文件配置方法,需要的朋友可以參考下
    2021-07-07
  • docker-compose啟動(dòng)minio方式

    docker-compose啟動(dòng)minio方式

    文章介紹了創(chuàng)建文件夾、配置docker-compose.yml、開啟防火墻以及驗(yàn)證服務(wù)的步驟,適用于新版和老版的RELEASE數(shù)據(jù)格式
    2025-01-01
  • Docket Desktop安裝redis并設(shè)置密碼方式

    Docket Desktop安裝redis并設(shè)置密碼方式

    在DockerDesktop中安裝Redis并設(shè)置密碼的步驟包括啟動(dòng)Docker、拉取Redis鏡像、創(chuàng)建并運(yùn)行Redis容器設(shè)置密碼、驗(yàn)證容器運(yùn)行、連接并驗(yàn)證密碼,以及可選的持久化數(shù)據(jù)設(shè)置
    2025-03-03

最新評(píng)論