Podman на Debian 11 — установка и базовое использование

Основные понятия
- Podman: контейнерный движок, не требующий демона.
- OCI: Open Container Initiative — стандарт формата контейнера.
- rootless: запуск контейнеров без прав root.
Важно: у вас должен быть сервер с Debian 11 и настроен пароль root.
Установка Podman
Пакет Podman доступен в репозитории Debian 11. Установите командой:
apt-get install podman -yПроверьте версию:
podman --versionПример вывода:
podman version 3.0.1Получить детальную информацию:
podman infoПример вывода (сокращённо):
host:
arch: amd64
buildahVersion: 1.19.6
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:
distribution: debian
version: "11"
eventLogger: journald
hostname: debian11
kernel: 5.10.0-8-amd64
memFree: 3365183488
memTotal: 4122267648
ociRuntime:
name: crun
package: 'crun: /usr/bin/crun'
path: /usr/bin/crun
version: |-
crun version 0.17
commit: 0e9229ae34caaebcb86f1fde18de3acaf18c6d9a
spec: 1.0.0
os: linux
remoteSocket:
exists: true
path: /run/podman/podman.sock
security:
apparmorEnabled: true
rootless: false
seccompEnabled: trueНастройка реестра OCI
Файл конфигурации реестров: /etc/containers/registries.conf. Откройте его в редакторе:
nano /etc/containers/registries.confДобавьте в конец:
[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: примеры
Загрузка образа Debian:
podman pull debianПример вывода:
Resolved "debian" as an alias (/etc/containers/registries.conf.d/shortnames.conf)
Trying to pull docker.io/library/debian:latest...
Getting image source signatures
Copying blob 647acf3d48c2 done
Copying config 827e561138 done
Writing manifest to image destination
Storing signatures
827e5611389abf13dad1057e92f163b771febc0bcdb19fa2d634a7eb0641e0ccПросмотреть образы:
podman imagesПример вывода:
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/library/debian latest 827e5611389a 11 days ago 129 MBЗапуск контейнера:
podman run -dit debian:latestПример вывода — ID контейнера:
f85c4df5ab787912c984ec820571da7b95b32736ef94ba691d9ab5019c5b5103Список запущенных контейнеров:
podman psПример:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f85c4df5ab78 docker.io/library/debian:latest bash 13 seconds ago Up 13 seconds ago competent_coriИнспекция контейнера:
podman inspect f85c4df5ab78Часть вывода:
[
{
"Id": "f85c4df5ab787912c984ec820571da7b95b32736ef94ba691d9ab5019c5b5103",
"Created": "2021-11-28T07:00:12.795302341Z",
"Path": "bash",
"Args": [
"bash"
],
"State": {
"OciVersion": "1.0.2-dev",
"Status": "running",
"Running": true,
"Pid": 6881
}
}
]Просмотр логов:
podman logs f85c4df5ab78Подключение в shell контейнера:
podman exec -it f85c4df5ab78 /bin/bashВыход из shell:
exitОстановка и удаление контейнеров
Остановка:
podman stop f85c4df5ab78Смотреть все контейнеры:
podman ps -aУдаление контейнера:
podman rm f85c4df5ab78Операции с последним контейнером:
podman stop --latest
podman start --latest
podman rm --latestУдалить все контейнеры:
podman rm -f `podman ps -aq`Удаление образа по ID:
podman rmi 827e5611389aПример вывода:
Untagged: docker.io/library/debian:latest
Deleted: 827e5611389abf13dad1057e92f163b771febc0bcdb19fa2d634a7eb0641e0ccБыстрый справочник команд
- apt-get install podman - установить Podman.
- podman pull
- скачать образ. - podman images - список образов.
- podman run - запустить контейнер.
- podman ps - список запущенных контейнеров.
- podman logs
- посмотреть логи. - podman inspect
- получить метаданные. - podman rm / rmi - удалить контейнер/образ.
Когда Podman не подходит
- Нужны специфичные Docker-интеграции, завязанные на Docker Engine API.
- CI/CD пайплайны, которые явно требуют демон Docker и не поддерживают Podman.
- Инструменты третьих сторон с ограниченной поддержкой rootless-режима.
Альтернативы и сравнение
- Docker: более распространён, требует демон, богатая экосистема.
- Buildah: фокус на создании образов (часто используется вместе с Podman).
- Kubernetes: оркестрация контейнеров на уровне кластера.
Роль‑ориентированная чеклист
Разработчик:
- Установить Podman локально.
- Проверить запуск контейнера и логи.
- Собрать и протестировать образ.
Системный администратор:
- Проверить конфигурацию /etc/containers/registries.conf.
- Настроить firewall и сокеты /run/podman/podman.sock.
- Настроить системные службы и бэкапы.
Типичные проблемы и отладка
- Ошибка прав доступа в rootless-режиме — проверьте маппинг uid/gid и пакеты fuse-overlayfs.
- Невозможность достать образ — проверьте registries.conf и сетевые правила.
- Ошибки runtime (crun) — посмотрите версии oci-runtime и логи systemd/journald.
Примечание: многие команды Podman совместимы с Docker CLI, но поведение некоторых флагов может отличаться.
Дополнительно
Подробное руководство: Getting Started with Podman: Manage Images, Containers and Volumes
Итоги
- Podman устанавливается из репозитория Debian 11.
- Он работает без демона и совместим с OCI.
- Подходит для локальной разработки и production при правильной настройке.
Ключевые выводы:
- Установить: apt-get install podman -y
- Скачать: podman pull debian
- Запустить: podman run -dit debian:latest
Похожие материалы
Родительский контроль в ChatGPT — как настроить
Включение и отключение «Hey Copilot» в Windows 11
Как проверить гарантию на ноутбук онлайн
Изменить домашнюю страницу в браузере
Генерация изображений ИИ с Google Bard