溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用 Podman 以非 root 用戶身份運(yùn)行 Linux 容器

發(fā)布時(shí)間:2021-07-19 10:49:35 來源:億速云 閱讀:199 作者:chen 欄目:系統(tǒng)運(yùn)維

本篇內(nèi)容主要講解“如何使用 Podman 以非 root 用戶身份運(yùn)行 Linux 容器”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何使用 Podman 以非 root 用戶身份運(yùn)行 Linux 容器”吧!

Linux 容器是由 Linux 內(nèi)核所提供的具有特定隔離功能的進(jìn)程 —— 包括文件系統(tǒng)、進(jìn)程和網(wǎng)絡(luò)的隔離。容器有助于實(shí)現(xiàn)可移植性 —— 應(yīng)用可以在容器鏡像中與其依賴項(xiàng)一起分發(fā),并可在幾乎任何有容器運(yùn)行時(shí)環(huán)境的 Linux 系統(tǒng)上運(yùn)行。

雖然容器技術(shù)存在了很長時(shí)間,但 Linux 容器是由 Docker 而得到了廣泛推廣。 “Docker” 這個(gè)詞可以指幾個(gè)不同的東西,包括容器技術(shù)和工具,周圍的社區(qū),或者 Docker Inc. 公司。但是,在本文中,我將用來指管理 Linux 容器的技術(shù)和工具。

什么是 Docker

Docker 是一個(gè)以 root 身份在你的系統(tǒng)上運(yùn)行的守護(hù)程序,它利用 Linux 內(nèi)核的功能來管理正在運(yùn)行的容器。除了運(yùn)行容器之外,它還可以輕松管理容器鏡像 —— 與容器注冊庫交互、存儲(chǔ)映像、管理容器版本等。它基本上支持運(yùn)行單個(gè)容器所需的所有操作。

但即使 Docker 是管理 Linux 容器的一個(gè)非常方便的工具,它也有兩個(gè)缺點(diǎn):它是一個(gè)需要在你的系統(tǒng)上運(yùn)行的守護(hù)進(jìn)程,并且需要以 root 權(quán)限運(yùn)行,這可能有一定的安全隱患。然而,Podman 在解決這兩個(gè)問題。

Podman 介紹

Podman 是一個(gè)容器運(yùn)行時(shí)環(huán)境,提供與 Docker 非常相似的功能。正如已經(jīng)提示的那樣,它不需要在你的系統(tǒng)上運(yùn)行任何守護(hù)進(jìn)程,并且它也可以在沒有 root 權(quán)限的情況下運(yùn)行。讓我們看看使用 Podman 運(yùn)行 Linux 容器的一些示例。

使用 Podman 運(yùn)行容器

其中一個(gè)最簡單的例子可能是運(yùn)行 Fedora 容器,在命令行中打印 “Hello world!”:

$ podman run --rm -it fedora:28 echo "Hello world!"

使用通用 Dockerfile 構(gòu)建鏡像的方式與 Docker 相同:

$ cat DockerfileFROM fedora:28RUN dnf -y install cowsay $ podman build . -t hello-world... output omitted ... $ podman run --rm -it hello-world cowsay "Hello!"

為了構(gòu)建容器,Podman 在后臺(tái)調(diào)用另一個(gè)名為 Buildah 的工具。你可以閱讀最近一篇關(guān)于使用 Buildah 構(gòu)建容器鏡像的文章 —— 它不僅僅是使用典型的 Dockerfile。

除了構(gòu)建和運(yùn)行容器外,Podman 還可以與容器托管進(jìn)行交互。要登錄容器注冊庫,例如廣泛使用的 Docker Hub,請運(yùn)行:

$ podman login docker.io

為了推送我剛剛構(gòu)建的鏡像,我只需打上標(biāo)記來代表特定的容器注冊庫,然后直接推送它。

$ podman -t hello-world docker.io/asamalik/hello-world$ podman push docker.io/asamalik/hello-world

順便說一下,你是否注意到我如何以非 root 用戶身份運(yùn)行所有內(nèi)容?此外,我的系統(tǒng)上沒有運(yùn)行又大又重的守護(hù)進(jìn)程!

安裝 Podman

Podman 默認(rèn)在 Silverblue 上提供 —— 一個(gè)基于容器的工作流的新一代 Linux 工作站。要在任何 Fedora 版本上安裝它,只需運(yùn)行:

$ sudo dnf install podman

到此,相信大家對“如何使用 Podman 以非 root 用戶身份運(yùn)行 Linux 容器”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI