下一代容器技術 podman 簡介及安裝

Linux 容器簡介

Linux容器 是與系統其他部分隔離開的一系列進程。運行這些進程所需的所有文件都由另一個鏡像提供,這意味着從開發到測試再到生產的整個過程中,Linux 容器都具有可移植性和一致性。因而,相對於依賴重複傳統測試環境的開發渠道,容器的運行速度要快得多。容器比較普遍也易於使用,因此也成了 IT 安全方面的重要組成部分。

Podman 簡介

Podman 是一個開源的容器運行時項目,可在大多數 Linux 平臺上使用。Podman 提供與 Docker 非常相似的功能。正如前面提到的那樣,它不需要在你的系統上運行任何守護進程,並且它也可以在沒有 root 權限的情況下運行。

Podman 可以管理和運行任何符合 OCI(Open Container Initiative)規範的容器和容器鏡像。Podman 提供了一個與 Docker 兼容的命令行前端來管理 Docker 鏡像。[3]

Podman 不足之處:

Centos8 去除了 Docker 作爲默認的容器化管理工具,使用 Podman、Buildah、Skopeo 進行了替換。

podman 是什麼

podman 系列主要包含三個命令 podman、buildah、skopeo,其中 podman 本身負責運行、停止、管理容器,buildah 負責構建容器鏡像、skopeo 負責與 remote repo 交互,拉取或推送鏡像。但我們使用時不必這麼麻煩,redhat 爲了方便用戶從 docker 遷移到 podman,在 podman 上幾乎實現了大多數 docker 的常用命令,podman 會替你轉調 buildah 和 skopeo,你甚至可以直接 alias docker=podman,然後像使用 docker 一樣使用 podman。

Podman

Podman 可以替換 Docker 中了大多數子命令(RUN,PUSH,PULL 等)。Podman 不需要守護進程,而是使用用戶命名空間來模擬容器中的 root,無需連接到具有 root 權限的套接字保證容器的體系安全。Podman 專注於維護和修改 OCI 鏡像的所有命令和功能,例如拉動和標記。它還允許我們創建,運行和維護從這些圖像創建的容器。

Buildah

Buildah 用來構建 OCI 圖像。雖然 Podman 也可以用戶構建 Docker 鏡像,但是構建速度超慢,並且默認情況下使用 vfs 存儲驅動程序會耗盡大量磁盤空間。 buildah bud(使用 Dockerfile 構建)則會非常快,並使用覆蓋存儲驅動程序。Buildah 專注於構建 OCI 鏡像。 Buildah 的命令複製了 Dockerfile 中的所有命令。可以使用 Dockerfiles 構建鏡像,並且不需要任何 root 權限。 Buildah 的最終目標是提供更低級別的 coreutils 界面來構建圖像。Buildah 也支持非 Dockerfiles 構建鏡像,可以允許將其他腳本語言集成到構建過程中。 Buildah 遵循一個簡單的 fork-exec 模型,不以守護進程運行,但它基於 golang 中的綜合 API,可以存儲到其他工具中。

Skopeo

Skopeo 是一個工具,允許我們通過推、拉和複製鏡像來處理 Docker 和 OC 鏡像。

podman 安裝

  1. 在 Ubuntu 計算機上啓動一個新的終端會話並運行下面的命令

sudo apt update

sudo apt -y install software-properties-common

sudo add-apt-repository -y ppa:projectatomic/ppa

  1. 添加存儲庫後,繼續安裝 Podman:

sudo apt -y install podman

安裝後,你可以顯示有關主機、當前存儲統計信息和 podman 構建的信息:

podman info

  1. 更新 podman 阿里源

vim /etc/containers/registries.conf

[[registry]]

prefix = "http://docker.io"

location = "http://uyah70su.mirror.aliyuncs.com"

  1. 拉取 alpine 鏡像調試

  1. 查看鏡像

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://zhuanlan.zhihu.com/p/210413963