運行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中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

VS Code 系統要求:操作系統:Windows 10 及以上、macOS 10.12 及以上、Linux 發行版處理器:最低 1.6 GHz,推薦 2.0 GHz 及以上內存:最低 512 MB,推薦 4 GB 及以上存儲空間:最低 250 MB,推薦 1 GB 及以上其他要求:穩定網絡連接,Xorg/Wayland(Linux)

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

vscode 內置終端是一個開發工具,允許在編輯器內運行命令和腳本,以簡化開發流程。如何使用 vscode 終端:通過快捷鍵 (Ctrl/Cmd ) 打開終端。輸入命令或運行腳本。使用熱鍵 (如 Ctrl L 清除終端)。更改工作目錄 (如 cd 命令)。高級功能包括調試模式、代碼片段自動補全和交互式命令歷史。

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

在 Visual Studio Code(VSCode)中編寫代碼簡單易行,只需安裝 VSCode、創建項目、選擇語言、創建文件、編寫代碼、保存並運行即可。 VSCode 的優點包括跨平台、免費開源、強大功能、擴展豐富,以及輕量快速。

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

VS Code 終端命令無法使用的原因及解決辦法:未安裝必要的工具(Windows:WSL;macOS:Xcode 命令行工具)路徑配置錯誤(添加可執行文件到 PATH 環境變量中)權限問題(以管理員身份運行 VS Code)防火牆或代理限制(檢查設置,解除限制)終端設置不正確(啟用使用外部終端)VS Code 安裝損壞(重新安裝或更新)終端配置不兼容(嘗試不同的終端類型或命令)特定環境變量缺失(設置必要的環境變量)
