如何在 Ubuntu 22.04 上安装 Podman如何在 Ubuntu 22.04 上安装 Podman如何在 Ubuntu 22.04 上安装 Podman如何在 Ubuntu 22.04 上安装 Podman
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Ubuntu 22.04 上安装 Podman

本教程适用于这些操作系统版本

  • Ubuntu 22.04(Jammy Jellyfish)
  • Ubuntu 20.04(Focal Fossa)

在此页

  1. 先决条件
  2. 在 Ubuntu 22.04 上安装 Podman
  3. 配置 Podman 注册表
  4. 使用 Podman 下载图像
  5. 使用 Podman 创建和管理容器
  6. 开始使用 Podman
  7. 结论

Podman 也称为“Pod Manager”,是一种用于创建和管理容器的开源工具。它是 libpod 库的一部分,不依赖于 Docker 守护进程并与 Docker 兼容。它是 Kubernetes 的简单轻量级容器运行时环境。随着 Docker License 最近的变化,podman 可以成为大多数 Linux 系统中可用的一个很好的替代方案。

在本教程中,我将向您展示如何在 Ubuntu 22.04 服务器上安装和使用 Podman。

先决条件

  • 一台运行 Ubuntu 22.04 的服务器。
  • 在服务器上配置了根密码。

在 Ubuntu 22.04 上安装 Podman

默认情况下,Podman 包包含在 Ubuntu 默认存储库中。您只需运行以下命令即可安装它:

apt install podman -y

安装 Podman 后,您可以使用以下命令对其进行验证:

podman -v

您应该在以下输出中看到 Podman 版本:

podman version 3.4.4

您还可以使用以下命令查看有关 Podman 的详细信息:

podman info

您应该得到以下输出:

host:
  arch: amd64
  buildahVersion: 1.23.1
  cgroupControllers:
  - cpuset
  - cpu
  - io
  - memory
  - hugetlb
  - pids
  - rdma
  - misc
  cgroupManager: systemd
  cgroupVersion: v2
  conmon:
    package: 'conmon: /usr/bin/conmon'
    path: /usr/bin/conmon
    version: 'conmon version 2.0.25, commit: unknown'
  cpus: 2
  distribution:
    codename: jammy
    distribution: ubuntu
    version: "22.04"
  eventLogger: journald
  hostname: ubuntu2204
  idMappings:

配置 Podman 注册表

默认情况下,Podman 注册表未配置为从 Web 下载和安装容器镜像。所以你需要先配置它。

nano /etc/containers/registries.conf

添加以下行:

[registries.search]
registries=["registry.access.redhat.com", "registry.fedoraproject.org", "docker.io"]

完成后保存并关闭文件。

使用 Podman 下载图像

Podman 让您可以轻松地从网络上搜索和下载图像。例如,要搜索 Debian 映像,请运行以下命令:

podman search debian

您应该在以下输出中获得所有 Debian 映像的列表:

INDEX       NAME                                           DESCRIPTION                                      STARS       OFFICIAL    AUTOMATED
docker.io   docker.io/library/ubuntu                       Ubuntu is a Debian-based Linux operating sys...  14959       [OK]        
docker.io   docker.io/library/debian                       Debian is a Linux distribution that's compos...  4435        [OK]        
docker.io   docker.io/library/neurodebian                  NeuroDebian provides neuroscience research s...  93          [OK]        
docker.io   docker.io/bitnami/debian-base-buildpack        Debian base compilation image                    2                       [OK]
docker.io   docker.io/mirantis/debian-build-ubuntu-xenial                                                   0                       
docker.io   docker.io/mirantis/debian-build-ubuntu-trusty                                                   0                       
docker.io   docker.io/osrf/debian_arm64                    Debian arm64 Base Images                         1                       
docker.io   docker.io/rancher/debianconsole                                                                 1                       
docker.io   docker.io/dokken/debian-10                     Debian 10 image for use with kitchen-dokken      0                       
docker.io   docker.io/dokken/debian-9                      Debian 9 image for kitchen-dokken                0                       
docker.io   docker.io/ustclug/debian                       Official Debian Image with USTC Mirror           1                       
docker.io   docker.io/dokken/debian-8                      EOL: Debian 8 image for kitchen-dokken           0                       
docker.io   docker.io/dokken/debian-11                     Debian 11 image for use with kitchen-dokken      0                       
docker.io   docker.io/corpusops/debian-bare                https://github.com/corpusops/docker-images/      0                       
docker.io   docker.io/datadog/debian-i386                                                                   0                       
docker.io   docker.io/corpusops/debian                     debian corpusops baseimage                       0                       
docker.io   docker.io/osrf/debian_armhf                    Debian Armhf Base Images                         1                       
docker.io   docker.io/treehouses/debian                                                                     2                       
docker.io   docker.io/dokken/debian-7                      EOL DISTRO: For use with kitchen-dokken, Bas...  0                       
docker.io   docker.io/treehouses/debian-tags                                                                0                       
docker.io   docker.io/dokken/debian-12                                                                      0                       
docker.io   docker.io/dockage/debian-runit                 Docker image uses runit as a process supervi...  2                       [OK]
docker.io   docker.io/galaxy/debian32-wheel                                                                 0                       
docker.io   docker.io/galaxy/debian-wheel                                                                   0                       
docker.io   docker.io/dockage/debian                       Debian image that forms the base for some Do...  2                       [OK]

接下来,使用以下命令从互联网上下载最新的 Debian 映像:

podman pull debian

这将搜索并下载最新的 Debian 映像,如下所示:

Getting image source signatures
Copying blob 23858da423a6 done  
Copying config 43d28810c1 done  
Writing manifest to image destination
Storing signatures
43d28810c1b4c28a1be3bac8e0e40fcc472b2bfcfcda952544ed99cb874d2b1a

您现在可以使用以下命令验证下载的图像:

podman images

您应该看到以下输出:

REPOSITORY                TAG         IMAGE ID      CREATED     SIZE
docker.io/library/debian  latest      43d28810c1b4  5 days ago  129 MB

使用 Podman 创建和管理容器

使用 Podman,您可以通过命令行轻松创建和管理容器。

要从 Debian 映像创建容器,请运行以下命令:

podman run -dit --name debian-container debian

创建容器后,您可以使用以下命令查看正在运行的容器:

podman ps

您应该看到以下输出:

CONTAINER ID  IMAGE                            COMMAND     CREATED        STATUS            PORTS       NAMES
533698eaf6f1  docker.io/library/debian:latest  bash        6 seconds ago  Up 6 seconds ago              debian-container

要连接到 Debian 容器,请运行以下命令:

podman attach debian-container

您将进入 Debian 容器,如下所示:

:/# 

您可以使用以下命令验证容器版本:

cat /etc/os-release

您将获得以下输出:

PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

要退出容器,请运行以下命令:

:/# exit

要停止容器,请运行以下命令:

podman stop debian-container

要启动容器,请运行以下命令:

podman start debian-container

要删除容器,请运行以下命令:

podman rm debian-container

要删除 Debian 映像,请运行以下命令:

podman rmi debian

您将获得以下输出:

Untagged: docker.io/library/debian:latest
Deleted: 43d28810c1b4c28a1be3bac8e0e40fcc472b2bfcfcda952544ed99cb874d2b1a

您可以使用以下命令列出所有 Podman 命令选项:

podman --help

您应该会在以下输出中看到所有有用的选项:

Manage pods, containers and images

Usage:
  podman [options] [command]

Available Commands:
  attach      Attach to a running container
  auto-update Auto update containers according to their auto-update policy
  build       Build an image using instructions from Containerfiles
  commit      Create new image based on the changed container
  container   Manage containers
  cp          Copy files/folders between a container and the local filesystem
  create      Create but do not start a container
  diff        Display the changes to the object's file system
  events      Show podman events
  exec        Run a process in a running container
  export      Export container's filesystem contents as a tar archive
  generate    Generate structured data based on containers, pods or volumes
  healthcheck Manage health checks on containers
  help        Help about any command
  history     Show history of a specified image
  image       Manage images
  images      List images in local storage
  import      Import a tarball to create a filesystem image
  info        Display podman system information
  init        Initialize one or more containers
  inspect     Display the configuration of object denoted by ID
  kill        Kill one or more running containers with a specific signal
  load        Load image(s) from a tar archive
  login       Login to a container registry
  logout      Logout of a container registry
  logs        Fetch the logs of one or more containers
  machine     Manage a virtual machine
  manifest    Manipulate manifest lists and image indexes
  mount       Mount a working container's root filesystem
  network     Manage networks
  pause       Pause all the processes in one or more containers
  play        Play containers, pods or volumes from a structured file
  pod         Manage pods
  port        List port mappings or a specific mapping for the container
  ps          List containers
  pull        Pull an image from a registry
  push        Push an image to a specified destination
  rename      Rename an existing container
  restart     Restart one or more containers
  rm          Remove one or more containers
  rmi         Removes one or more images from local storage
  run         Run a command in a new container
  save        Save image(s) to an archive
  search      Search registry for image
  secret      Manage secrets
  start       Start one or more containers
  stats       Display a live stream of container resource usage statistics
  stop        Stop one or more containers
  system      Manage podman
  tag         Add an additional name to a local image
  top         Display the running processes of a container
  unmount     Unmounts working container's root filesystem
  unpause     Unpause the processes in one or more containers
  unshare     Run a command in a modified user namespace
  untag       Remove a name from a local image
  version     Display the Podman version information
  volume      Manage volumes
  wait        Block on one or more containers

开始使用 Podman

有关如何使用 Podman 创建图像、卷和容器的详细指南,请参见此处:Podman 入门:管理图像、容器和卷

结论

恭喜!您已在 Ubuntu 22.04 服务器上成功安装 Podman。您现在可以使用 Podman 作为 Docker 管理容器的替代工具。如果您有任何问题,请随时问我。有关 Podman 的更多信息,请访问 Podman 文档页面。

©2015-2025 艾丽卡 support@alaica.com