最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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 交換每對輸入字節(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是一個(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:指定用逗號分隔的虛擬文件系統(tǒng)實(shí)現(xiàn)細(xì)節(jié)選項(xiàng)列表。

測試一下:

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

格式

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

常用選項(xiàng)

  • -a:掛載/etc/fstab文件中定義的所有未掛載的文件系統(tǒng)。
  • -f:不實(shí)際執(zhí)行掛載操作,通常與-v一起使用來測試或調(diào)試掛載命令。
  • -F:結(jié)合-a使用時(shí),對于每一個(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)存在。

測試一下:

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)程號空間。
  • -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ì)列、信號量和共享內(nèi)存。
  • –fork:在新的命名空間中啟動(dòng)一個(gè)新的子進(jìn)程來運(yùn)行指定的程序,而不是直接運(yùn)行它。這對于創(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

在這里插入圖片描述

在這里插入圖片描述

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

相關(guān)文章

  • Docker compose up -d與Docker restart的區(qū)別

    Docker compose up -d與Docker restart的區(qū)別

    本文主要介紹了Docker compose up -d與Docker restart的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • docker+nextcloud搭建個(gè)人云存儲系統(tǒng)的實(shí)現(xiàn)

    docker+nextcloud搭建個(gè)人云存儲系統(tǒng)的實(shí)現(xiàn)

    這篇文章主要介紹了docker+nextcloud搭建個(gè)人云存儲系統(tǒng)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • docker搭建Mycat實(shí)現(xiàn)讀寫分離的項(xiàng)目實(shí)踐

    docker搭建Mycat實(shí)現(xiàn)讀寫分離的項(xiàng)目實(shí)踐

    本文主要介紹了docker搭建Mycat實(shí)現(xiàn)讀寫分離的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 詳解基于Docker的服務(wù)部署流程

    詳解基于Docker的服務(wù)部署流程

    這篇文章主要介紹了詳解基于Docker的服務(wù)部署流程,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06
  • 不使用sudo 執(zhí)行Docker命令的方法

    不使用sudo 執(zhí)行Docker命令的方法

    本篇文章主要介紹了不使用sudo 執(zhí)行Docker命令的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-04-04
  • 前端實(shí)現(xiàn)自動(dòng)化部署docker+Jenkins的完整過程

    前端實(shí)現(xiàn)自動(dòng)化部署docker+Jenkins的完整過程

    在現(xiàn)代前端開發(fā)中自動(dòng)化部署變得越來越重要,通過使用Docker、Jenkins和Nginx,我們可以實(shí)現(xiàn)高效的前端自動(dòng)化部署,這篇文章主要介紹了前端實(shí)現(xiàn)自動(dòng)化部署docker+Jenkins的完整過程,需要的朋友可以參考下
    2025-07-07
  • 如何使用 docker compose 搭建 fastDFS文件服務(wù)器

    如何使用 docker compose 搭建 fastDFS文件服務(wù)器

    這篇文章主要介紹了如何使用 docker compose 搭建 fastDFS文件服務(wù)器,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-10-10
  • Docker之蘋果Mac安裝Docker的兩種方式小結(jié)

    Docker之蘋果Mac安裝Docker的兩種方式小結(jié)

    這篇文章主要介紹了Docker之蘋果Mac安裝Docker的兩種方式小結(jié),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • win10安裝docker及遇到的坑及解決

    win10安裝docker及遇到的坑及解決

    這篇文章主要介紹了win10安裝docker及遇到的坑及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Docker Compose部署及基礎(chǔ)使用詳解

    Docker Compose部署及基礎(chǔ)使用詳解

    這篇文章主要介紹了Docker Compose部署及基礎(chǔ)使用詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-12-12

最新評論

安泽县| 湛江市| 清水河县| 松溪县| 揭东县| 化德县| 宁夏| 白山市| 静安区| 罗江县| 东安县| 青铜峡市| 当雄县| 梅州市| 和林格尔县| 德钦县| 建湖县| 新乡市| 凤庆县| 吉林省| 唐河县| 湘潭市| 华容县| 民权县| 县级市| 大洼县| 阳城县| 贵阳市| 舞钢市| 东明县| 徐州市| 鸡泽县| 车险| 延寿县| 齐河县| 南昌县| 原平市| 石屏县| 自贡市| 花莲县| 合川市|