Гид по технологиям

Установка и использование Podman на Ubuntu 22.04

• 5 min read • Linux • Обновлено 25 Nov 2025
Podman на Ubuntu 22.04 — установка и старт
Podman на Ubuntu 22.04 — установка и старт

Логотип Podman и схема контейнеров

Что такое Podman в одном предложении: Podman — это инструмент для создания и управления контейнерами из проекта libpod, который не требует Docker daemon и часто используется как легковесная альтернатива Docker в Linux.

Что понадобится

  • Сервер с установленной Ubuntu 22.04.
  • Пароль root или пользователь с правами sudo.

Важно: Podman работает в большинстве современных дистрибутивов Linux и предпочитает systemd/cgroup v2. Если у вас нет cgroup v2, часть функциональности может отличаться.

Установка Podman

Пакет Podman доступен в стандартном репозитории Ubuntu. Для установки выполните:

apt install podman -y

Проверить версию:

podman -v

Ожидаемый пример вывода:

podman version 3.4.4

Подробную информацию о текущей установке можно получить так:

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

По умолчанию конфигурация реестра может не включать некоторые внешние реестры. Отредактируйте файл конфигурации:

nano /etc/containers/registries.conf

Добавьте или отредактируйте секцию поиска реестров так:

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

Сохраните и закройте файл.

Важно: порядок реестров в этом списке определяет приоритет поиска при указании несвязанного имени образа.

Поиск и загрузка образов

Поиск образа Debian в реестре:

podman search debian

Пример вывода показывает доступные образы и их источник (INDEX).

Загрузка последнего образа Debian:

podman pull 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

Создание и управление контейнерами

Создать контейнер из образа 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

Подключиться к работающему контейнеру:

podman attach debian-container

Внутри контейнера вы увидите приглашение shell, например:

root@533698eaf6f1:/# 

Убедиться в внутриобразовой версии ОС:

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
podman rmi debian

Пример удаления образа:

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

Полный список команд и подсказка:

podman --help

Вывод перечисляет все доступные команды, такие как run, pull, push, build, ps, images и т.д.

Быстрый справочник команд (cheat sheet)

  • Установка: apt install podman -y
  • Проверка: podman -v, podman info
  • Загрузка образа: podman pull
  • Список образов: podman images
  • Создать и запустить: podman run -dit –name
  • Список контейнеров: podman ps
  • Остановить: podman stop
  • Запустить: podman start
  • Удалить контейнер: podman rm
  • Удалить образ: podman rmi
  • Подключиться: podman attach
  • Запуск команды внутри: podman exec -it /bin/bash

Отличия Podman от Docker (когда это важно)

  • Без демона: Podman не использует центральный daemon, контейнеры запускаются как обычные процессы пользователя или rootless.
  • Совместимость: команды и образы часто совместимы, но некоторые Docker-ориентированные инструменты ожидают наличие Docker API.
  • Rootless режим: Podman поддерживает запуск контейнеров без root, повышая безопасность.

Когда Podman может не подойти:

  • Если вам требуется интеграция с инструментами, которые исключительно взаимодействуют с Docker Engine через его API (нужен shim).
  • В окружениях, где уже принято централизованное управление Docker daemon и это часть CI/CD.

Практические советы по безопасности

  • Используйте rootless режим для задач, где это возможно.
  • Подписывайте и проверяйте образы при помощи подписей и политики подписи (Notary, Cosign и т.п.).
  • Ограничивайте привилегии контейнера и избегайте –privileged без острой необходимости.
  • Следите за уязвимостями в образах и своевременно обновляйте базовые образы.

Миграция с Docker

  • Многие docker-команды работают идентично (podman run, podman pull, podman build).
  • Если CI ожидает Docker API, используйте podman-docker пакет или сокет-compat слои, либо адаптируйте pipeline.
  • Тестируйте образы и контейнеры на локальном стенде перед переносом в прод.

Режимы использования по ролям

  • Администратор: установить, настроить реестры, обеспечивать обновления и мониторинг.
  • Девопс/инженер CI: адаптировать пайплайны, проверять совместимость с инструментами сборки.
  • Разработчик: запускать rootless-контейнеры локально, создавать Containerfile / Dockerfile, тестировать образы.

Критерии приёмки

  • Podman устанавливается без ошибок на Ubuntu 22.04.
  • Удалось скачать образ debian и запустить контейнер.
  • Контейнер отвечает на базовые команды, можно подключиться и выполнить команду внутри.

Отладка и распространённые проблемы

  • Ошибка с cgroups: убедитесь, что система использует cgroup v2 при необходимости (systemd и соответствующая конфигурация).
  • Привилегии: в rootless режиме некоторые функции (ports <1024, mount-опции) могут быть ограничены.
  • Реестр: если pull не проходит, проверьте /etc/containers/registries.conf и сетевой доступ.

Дополнительные ресурсы

Официальная документация Podman содержит подробные руководства и примеры: посетите страницу документации Podman.

Часто задаваемые вопросы

Q: Можно ли использовать Podman вместо Docker в проде?

A: Да, Podman подходит для продакшн-использования, особенно если требуется rootless или бездемоновая архитектура. Однако проверьте совместимость инструментов, использующих Docker API.

Q: Нужно ли менять Dockerfile при переходе на Podman?

A: Обычно нет: Dockerfile совместимы с Podman/Buildah. Команды сборки и запуск образов работают аналогично.

Q: Как восстановить удалённый контейнер или образ?

A: Если образ удалён локально, его можно снова загрузить из реестра с помощью podman pull. Для резервного копирования используйте podman save / podman load.

Заключение

Поздравляем — вы установили и опробовали Podman на Ubuntu 22.04. Podman — достойная альтернатива Docker, особенно для сценариев, где ценится отсутствие daemon и возможность rootless запуска. Начните с простых образов, протестируйте CI/CD и постепенно интегрируйте в рабочие процессы.

Важно: если у вас остались вопросы по конкретным кейсам (rootless, реестры, интеграция с Kubernetes), задайте их — можно привести примеры конфигураций и workflow.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро