亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

namespace

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

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

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

namespace 隔離實戰(zhàn)

dd命令

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

格式

dd if=<輸入文件> of=<輸出文件> [選項]

if:指定輸入文件。如果省略,默認為標準輸入(stdin)。
of:指定輸出文件。如果省略,默認為標準輸出(stdout)。

基本選項

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

測試一下:

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

在這里插入圖片描述

mkfs命令

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

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

基本格式:

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

常用選項

  • -V或–verbose:詳細顯示命令執(zhí)行過程。
  • -t或–type=:指定要創(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)時忽略此標記)。
  • -o:指定用逗號分隔的虛擬文件系統(tǒng)實現(xiàn)細節(jié)選項列表。

測試一下:

mkfs -t ext4 ./test.img

在這里插入圖片描述

df命令

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

df [選項] [文件或目錄...]

基本選項

  • -h或–human-readable:以易讀的格式(如K、M、G)顯示磁盤空間大小。
  • -T或–print-type:顯示文件系統(tǒng)的類型。
  • -i或–inodes:顯示inode(索引節(jié)點)的使用情況,而不是塊使用情況。inode是Linux文件系統(tǒng)中用于存儲文件和目錄的元數(shù)據(jù)結構。
  • -a或–all:顯示所有文件系統(tǒng),包括虛擬文件系統(tǒng)(如proc、sysfs等)和沒有被掛載的文件系統(tǒng)。
  • -l或–local:僅顯示本地文件系統(tǒng),不包括網(wǎng)絡文件系統(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),即將存儲設備(如硬盤分區(qū)、CD-ROM、USB驅動器或網(wǎng)絡共享)的文件系統(tǒng)關聯(lián)到當前文件系統(tǒng)的某個目錄上,以便用戶可以通過該目錄訪問存儲設備中的數(shù)據(jù)。

格式

mount [-選項] 設備名 掛載點

常用選項

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

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

測試一下:

sudo mount ./test.img /data/testymount

在這里插入圖片描述

unshare命令

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

格式

unshare [options] [command [arguments]]

基本選項

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

在這里插入圖片描述

在這里插入圖片描述

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

相關文章

  • docker的基本使用及使如何用Docker 運行D435i

    docker的基本使用及使如何用Docker 運行D435i

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

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

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

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

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

    Docker搭建MySQ主從復制原理

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

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

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

    docker常用命令及設置開機自啟方式

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

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

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

    docker 基于golang鏡像構建 ssh服務的方法

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

    docker-compose啟動minio方式

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

    Docket Desktop安裝redis并設置密碼方式

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

最新評論