Поиск по сайту:

Как установить Podman на Ubuntu 22.04


Это руководство существует для этих версий ОС

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

На этой странице

  1. Предпосылки
  2. Установите Podman в Ubuntu 22.04
  3. Настройка реестра Podman
  4. Загрузка изображений с помощью Podman
  5. Создание контейнера и управление им с помощью Podman
  6. Начало работы с Podman
  7. Заключение

Podman, также называемый «Pod Manager», представляет собой инструмент с открытым исходным кодом, используемый для создания контейнеров и управления ими. Это часть библиотеки libpod, которая не зависит от демона Docker и совместима с Docker. Это простая и легкая среда выполнения контейнеров для Kubernetes. С недавним изменением лицензии Docker podman может стать хорошей альтернативой, доступной для использования в большинстве систем Linux.

В этом руководстве я покажу вам, как установить и использовать Podman на сервере Ubuntu 22.04.

Предпосылки

  • Сервер под управлением Ubuntu 22.04.
  • На сервере настроен пароль root.

Установите Подман на Ubuntu 22.04

По умолчанию пакет 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 не настроен на загрузку и установку образов контейнеров из Интернета. Так что вам нужно будет настроить его в первую очередь.

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: управление образами, контейнерами и томами.

Заключение

Поздравляем! вы успешно установили Podman на сервер Ubuntu 22.04. Теперь вы можете использовать Podman в качестве альтернативного инструмента Docker для управления контейнером. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы. Для получения дополнительной информации о Podman посетите страницу документации Podman.