運行Podman容器的正確姿勢:使用Sudo指令在Linux系統下管理容器
在 Linux 系統下,Podman 是一種流行的輕量級容器引擎,但在操作容器時需要注意一些細節。其中一個重要的問題是,如何正確地使用 sudo 命令來管理容器,以確保安全性和可靠性。本文將介紹如何使用 sudo 指令來正確管理 Podman 容器。
容器是現代運算的一個重要組成部分,隨著圍繞容器的基礎設施的發展,新的和更好的工具開始浮出水面。過去,你只需用 LXC 就可以運行容器,然而隨著 Docker 得到了普及,它開始變得越來越複雜。最終,我們在 Podman 得到了我們所期望的容器管理系統:一個無守護程序的容器引擎,它使容器和吊艙易於構建、運行和管理。

容器直接與 Linux 核心能力(如控制群組和命名空間)交互,它們在這些命名空間中產生大量的新進程。簡而言之,運行一個容器其實就是在 Linux 系統內部運行一個 Linux 系統。從作業系統的角度來看,它看起來非常像一種管理和特權活動。一般使用者通常無法像容器那樣自由支配系統資源,所以預設情況下,執行 Podman 需要 root 或 sudo 權限。然而,這只是預設設置,而且這絕不是唯一可用的設定。本文示範如何設定你的 Linux 系統,讓一般使用者可以在不使用 sudo 的情況下(「無根rootless」)運行 Podman。
命名空間的使用者 ID
#核心命名空間 本質上是一種虛構的結構,可幫助 Linux 追蹤哪些進程屬於同一類別。這是 Linux 中的「佇列護欄」。一個佇列中的進程與另一個佇列中的進程之間實際上沒有區別,但可以將它們用「警戒線」彼此隔離。要聲明一組進程為“容器”,而另一組進程為你的作業系統,將它們分開是關鍵。
Linux 透過使用者 ID(UID)和群組 ID(GID)來追蹤哪個使用者或群組擁有的進程。通常情況下,一個使用者可以存取一千個左右的從屬 UID,以分配給命名空間的子程序。由於 Podman 運行的是分配給啟動容器的使用者的整個從屬作業系統,因此你需要的不僅僅是預設分配的從屬 UID 和從屬 GID。
你可以用 usermod 指令授予一個使用者更多的從屬 UID 和從屬 GID。例如,要授予使用者 tux 更多的從屬 UID 和從屬 GID,選擇一個還沒分配使用者的適當的高 UID(如 200000),然後將其增加數千:
$ sudo usermod \ --add-subuids 200000-265536 \ --add-subgids 200000-265536 \ tux
命名空間存取
對命名空間數量也有限制。這通常被設定得很高。你可以用 systctl,也就是核心參數工具來驗證使用者的命名空間分配:
$ sysctl --all --pattern user_namespaces user.max_user_namespaces = 28633
這是很充足的命名空間,而且可能是你的發行版預設的。如果你的發行版沒有這個屬性或設定得很低,那麼你可以在檔案 /etc/sysctl.d/userns.conf 中輸入這樣的文字來建立它:
user.max_user_namespaces=28633
載入該設定:
$ sudo sysctl -p /etc/sysctl.d/userns.conf
在沒有 root 權限的情況下執行一個容器
#當你設定好你的配置,重啟你的計算機,以確保你的使用者和核心參數的變化被載入和啟動。
重啟後,試著執行一個容器映像:
$ podman run -it busybox echo "hello" hello
容器像指令一樣
#本文詳細介紹了在 Linux 系統下使用 sudo 維護 Podman 容器的正確姿勢,包括 sudoers 檔案配置、安全配置和啟動容器等多個方面。透過合理配置和使用 sudo,我們可以更好地保護容器的安全性和可靠性,從而更好地滿足業務需求。需要注意的是,在實際操作中,務必謹慎處理敏感資訊,確保不會造成不必要的損失。希望本文能幫助您更能掌握使用 sudo 指令管理 Podman 容器的技巧。
以上是運行Podman容器的正確姿勢:使用Sudo指令在Linux系統下管理容器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

互聯網運行不依賴單一操作系統,但Linux在其中扮演重要角色。 Linux廣泛應用於服務器和網絡設備,因其穩定性、安全性和可擴展性受歡迎。

Linux操作系統的核心是其命令行界面,通過命令行可以執行各種操作。 1.文件和目錄操作使用ls、cd、mkdir、rm等命令管理文件和目錄。 2.用戶和權限管理通過useradd、passwd、chmod等命令確保系統安全和資源分配。 3.進程管理使用ps、kill等命令監控和控制系統進程。 4.網絡操作包括ping、ifconfig、ssh等命令配置和管理網絡連接。 5.系統監控和維護通過top、df、du等命令了解系統運行狀態和資源使用情況。

介紹 Linux是一個強大的操作系統,由於其靈活性和效率,開發人員,系統管理員和電源用戶都喜歡。但是,經常使用長而復雜的命令可能是乏味的

Linux適用於服務器、開發環境和嵌入式系統。 1.作為服務器操作系統,Linux穩定高效,常用於部署高並發應用。 2.作為開發環境,Linux提供高效的命令行工具和包管理系統,提升開發效率。 3.在嵌入式系統中,Linux輕量且可定制,適合資源有限的環境。

簡介:通過基於Linux的道德黑客攻擊數字邊界 在我們越來越相互聯繫的世界中,網絡安全至關重要。 道德黑客入侵和滲透測試對於主動識別和減輕脆弱性至關重要

Linux基礎學習從零開始的方法包括:1.了解文件系統和命令行界面,2.掌握基本命令如ls、cd、mkdir,3.學習文件操作,如創建和編輯文件,4.探索高級用法如管道和grep命令,5.掌握調試技巧和性能優化,6.通過實踐和探索不斷提陞技能。

Linux在服務器、嵌入式系統和桌面環境中的應用廣泛。 1)在服務器領域,Linux因其穩定性和安全性成為託管網站、數據庫和應用的理想選擇。 2)在嵌入式系統中,Linux因其高度定制性和高效性而受歡迎。 3)在桌面環境中,Linux提供了多種桌面環境,滿足不同用戶需求。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Dreamweaver Mac版
視覺化網頁開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。