podman
16 commands
16 shown
Запустить контейнер без root
Запустить nginx в фоне без привилегий root
podman run -d --name web -p 8080:80 nginx:alpine
Собрать образ
Собрать из Containerfile (совместим с Dockerfile)
podman build -t myapp:latest -f Containerfile .
Сгенерировать systemd unit
Создать systemd unit для управления жизненным циклом контейнера
podman generate systemd --new --name web > ~/.config/systemd/user/web.service
Запустить Kubernetes YAML
Запустить pod из Kubernetes манифеста (локальное тестирование)
podman play kube deployment.yaml
Экспортировать pod в Kubernetes YAML
Сгенерировать Kubernetes-совместимый манифест из запущенного пода
podman generate kube mypod > pod.yaml
Создать и использовать pod
Объединить контейнеры в pod с общим сетевым пространством имён
podman pod create --name mypod -p 8080:80 && podman run -d --pod mypod nginx:alpine
Просмотр слоёв образа
Список слоёв файловой системы образа
podman image inspect myapp:latest | jq '.[0].RootFS.Layers'
Список всех контейнеров включая остановленные
Все контейнеры: имя, статус, образ
podman ps -a --format '{{.Names}}\t{{.Status}}\t{{.Image}}'
Удалить остановленные контейнеры
Неинтерактивно удалить все завершённые контейнеры
podman container prune -f
Войти в registry
Аутентифицироваться в container registry
podman login registry.example.com -u myuser
Контейнер как systemd-юнит
Создаёт переносимый .service, заново создающий контейнер при старте; note: современный путь — Quadlet
podman generate systemd --new --files --name <name>
Экспорт пода в Kubernetes YAML
Превращает запущенный под в манифест K8s для переноса в кластер
podman generate kube <pod> > pod.yaml
Запуск Kubernetes YAML локально
Поднимает поды/сервисы из манифеста K8s без кластера; --replace применяет заново начисто
podman play kube pod.yaml --replace
Отладка маппинга uid в rootless
Показывает диапазон uid юзер-namespace для rootless; правьте права через chown внутри unshare
podman unshare cat /proc/self/uid_map; cat /etc/subuid
Автообновление из реестра
Тянет новые образы и перезапускает помеченные контейнеры; нужна метка io.containers.autoupdate=registry
podman auto-update --dry-run && systemctl --user start podman-auto-update
Миграция хранилища после апгрейда
Обновляет OCI-runtime и конфиг юзер-namespace после апгрейда podman/ядра; чинит зависшие контейнеры
podman system migrate
no commands match