您好,登錄后才能下訂單哦!
本篇內容主要講解“如何使用 Podman 以非 root 用戶身份運行 Linux 容器”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何使用 Podman 以非 root 用戶身份運行 Linux 容器”吧!
Linux 容器是由 Linux 內核所提供的具有特定隔離功能的進程 —— 包括文件系統、進程和網絡的隔離。容器有助于實現可移植性 —— 應用可以在容器鏡像中與其依賴項一起分發,并可在幾乎任何有容器運行時環境的 Linux 系統上運行。
雖然容器技術存在了很長時間,但 Linux 容器是由 Docker 而得到了廣泛推廣。 “Docker” 這個詞可以指幾個不同的東西,包括容器技術和工具,周圍的社區,或者 Docker Inc. 公司。但是,在本文中,我將用來指管理 Linux 容器的技術和工具。
Docker 是一個以 root 身份在你的系統上運行的守護程序,它利用 Linux 內核的功能來管理正在運行的容器。除了運行容器之外,它還可以輕松管理容器鏡像 —— 與容器注冊庫交互、存儲映像、管理容器版本等。它基本上支持運行單個容器所需的所有操作。
但即使 Docker 是管理 Linux 容器的一個非常方便的工具,它也有兩個缺點:它是一個需要在你的系統上運行的守護進程,并且需要以 root 權限運行,這可能有一定的安全隱患。然而,Podman 在解決這兩個問題。
Podman 是一個容器運行時環境,提供與 Docker 非常相似的功能。正如已經提示的那樣,它不需要在你的系統上運行任何守護進程,并且它也可以在沒有 root 權限的情況下運行。讓我們看看使用 Podman 運行 Linux 容器的一些示例。
其中一個最簡單的例子可能是運行 Fedora 容器,在命令行中打印 “Hello world!”:
$ podman run --rm -it fedora:28 echo "Hello world!"
使用通用 Dockerfile 構建鏡像的方式與 Docker 相同:
$ cat DockerfileFROM fedora:28RUN dnf -y install cowsay $ podman build . -t hello-world... output omitted ... $ podman run --rm -it hello-world cowsay "Hello!"
為了構建容器,Podman 在后臺調用另一個名為 Buildah 的工具。你可以閱讀最近一篇關于使用 Buildah 構建容器鏡像的文章 —— 它不僅僅是使用典型的 Dockerfile。
除了構建和運行容器外,Podman 還可以與容器托管進行交互。要登錄容器注冊庫,例如廣泛使用的 Docker Hub,請運行:
$ podman login docker.io
為了推送我剛剛構建的鏡像,我只需打上標記來代表特定的容器注冊庫,然后直接推送它。
$ podman -t hello-world docker.io/asamalik/hello-world$ podman push docker.io/asamalik/hello-world
順便說一下,你是否注意到我如何以非 root 用戶身份運行所有內容?此外,我的系統上沒有運行又大又重的守護進程!
Podman 默認在 Silverblue 上提供 —— 一個基于容器的工作流的新一代 Linux 工作站。要在任何 Fedora 版本上安裝它,只需運行:
$ sudo dnf install podman
到此,相信大家對“如何使用 Podman 以非 root 用戶身份運行 Linux 容器”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。