在 Ubuntu 20.04 上輕鬆安裝 Podman

在 Ubuntu 20.04 上輕鬆安裝 Podman

在本教程中,我們將向您展示如何在 Ubuntu 20.04 上輕鬆安裝 Podman。

Podman (POD Manager) 是一個無守護進程的工具,用於管理開放容器計劃 (OCI)、Docker 容器模式 1、Docker 容器模式 2、pod(容器組)、鏡像和卷。

Podman 與 Docker 的不同之處在於兩個方面值得關注:

  • Podman 容器默認無特權(無根)運行。
  • 沒有守護進程(服務)在運行。

在 Ubuntu 20 上安裝 Podman

先決條件

  • 一個 Ubuntu 20.04 服務器。
  • 具有管理權限的 root 用戶或普通用戶。

步驟 1 - 使服務器保持最新狀態:

# apt update -y

# apt upgrade -y

第 2 步 - 安裝 Podman

按照以下步驟安裝 Podman:

# . /etc/os-release

# echo "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/ /' | sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list

# curl -L https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/Release.key | sudo apt-key add -

# sudo apt-get update

# sudo apt-get -y upgrade

# sudo apt-get -y install podman

步驟 3 - 驗證安裝

# podman info

您應該會看到各個組件的 Podman 配置和版本信息。

與 OCI 註冊中心合作

Podman 支持多個容器註冊表。當您指定不包含註冊表的容器名稱時,例如 store/elastic/metricbeat:7.9.0 而不是 docker.io/store/elastic/metricbeat:7.9.0,Podman 將查閱註冊表配置文件(/etc/ container/registries.conf ) 以獲取要從中提取容器映像的註冊表列表。

添加 docker.io 和 registry.access.redhat.com  (您也可以添加一些其他註冊表)。

編輯 /etc/containers/registries.conf:

# vi /etc/containers/registries.conf

粘貼以下內容:

# This is a system-wide configuration file used to
# keep track of registries for various container backends.
# It adheres to TOML format and does not support recursive
# lists of registries.

# The default location for this configuration file is
# /etc/containers/registries.conf.

# The only valid categories are: 'registries.search', 'registries.insecure',
# and 'registries.block'.

[registries.search]
registries = ['docker.io', 'quay.io', 'registry.access.redhat.com']

# If you need to access insecure registries, add the registry’s fully-qualified name.
# An insecure registry is one that does not have a valid SSL certificate or only does HTTP.
[registries.insecure]
registries = []

# If you need to block pull access from a registry, uncomment the section below
# and add the registries fully-qualified name.
#
# Docker only
[registries.block]
registries = []

保存並退出文件。

使用 Podman 圖像

搜索您已配置 Podman 使用的註冊表。

# podman search ubuntu-20.04

顯示podman已經下載的圖片。

# podman images

接下來,您可以以無根用戶身份下載圖像。

# podman run hello-world

請注意,之前我們以 root 用戶身份下載了 hello-world 映像,這意味著它(默認情況下)存儲在不同的位置,非 root 用戶無法訪問。為避免再次下載圖像:

# podman save hello-world | podman load

要查看下載的圖像列表:

# podman images

存儲庫標記圖像 ID 創建大小

docker.io/library/hello-world latest bf756fb1ae65 10 months ago 20.3 kB

查看正在運行的容器:

# podman ps -a

容器 ID 圖像命令創建狀態端口名稱

0c755bba8ded docker.io/library/hello-world:latest /hello 50 秒前退出 (0) 49 秒前funny_shtern

您可以停止然後啟動最近使用的容器:

# podman stop --latest
# podman start --latest

要移除容器:

# podman rm --latest

在本教程中,我們已經看到在 Ubuntu 20.04 上安裝 Podman 是多麼容易。


如何使用 Python 作為命令行計算器

如何使用 Python 作為命令行計算器

雖然您可以在計算機上使用圖形計算器,但 Python 編程語言解釋器可以兼作桌面計算器。它在 Python 社區中非常流行,以至於官方教程中都提到了它。下面介紹如何將 Python 用作計算器。

面向程序員的 8 個最佳 Java 博客

面向程序員的 8 個最佳 Java 博客

作為程序員,你應該接受挑戰才能生存,並在開發或編程領域創造一些奇蹟。因此,如果您正在尋求學習高級編程語言以提高您的職業技能,Java 是最好的前景之一。

初學者開始使用 Python 的 7 個重要命令

初學者開始使用 Python 的 7 個重要命令

如果您有一個全面的路線圖,詳細說明初學者應學習哪些概念以及如何進一步進步以達到下一個里程碑,那麼學習 Python 等新編程語言將變得輕而易舉。即使是中級程序員也應該經常複習他們的基礎知識,為自己打下堅實的基礎。

響應式網頁設計原則

響應式網頁設計原則

如今,構建一個根據瀏覽器或設備調整其用戶界面的網站或應用程序是一種常見的做法。有兩種方法可以實現這一目標。第一個涉及為不同的設備創建不同版本的網站或應用程序。但它效率低下,並可能導致不可預測的錯誤。

如何使用 C++、Python 和 JavaScript 計算數字中的位數

如何使用 C++、Python 和 JavaScript 計算數字中的位數

處理數字是編程的一個組成部分。每種編程語言都支持以多種不同方式操作數字。在本文中,您將學習如何使用迭代、基於日誌和基於字符串的方法查找整數中的總位數。

用於容器管理的 9 個最佳 Docker 替代方案

用於容器管理的 9 個最佳 Docker 替代方案

容器對於虛擬環境中的軟件開發、部署和管理非常有益。Docker 在容器化過程中很有用,但它不是唯一的平台。如果您正在尋找 Docker 的替代品,那就別無所求。此列表展示了一些功能豐富且高效的 Docker 替代方案,可用於您的下一個項目。

SQL 與 NoSQL:下一個項目的最佳數據庫是什麼?

SQL 與 NoSQL:下一個項目的最佳數據庫是什麼?

SQL 與 NoSQL:下一個項目的最佳數據庫是什麼?

如何在您的 WordPress 帖子中嵌入推文

如何在您的 WordPress 帖子中嵌入推文

在您的 WordPress 帖子中嵌入第三方服務是一種吸引訪問者興趣的令人興奮的方式。嵌入的內容還提供了使掃描更容易的視覺提示。WordPress 使添加此類內容變得容易。

如何使用 npkill 刪除節點模塊文件夾

如何使用 npkill 刪除節點模塊文件夾

Node.js 是一個 JavaScript 運行時環境,允許您在 Web 瀏覽器之外運行 JavaScript,使其成為開發各種應用程序的流行選擇。它的流行部分是由於大量的 NPM 包可以簡化開發人員的體驗。

如何編寫和編譯你的第一個 Solidity 代碼

如何編寫和編譯你的第一個 Solidity 代碼

Solidity 是以太坊區塊鏈上智能合約使用的編程語言。它是一種靜態類型的、面向對象的編程語言。