====== Podman ======

{{ :system:f2bf7ad9-ea2a-4334-b733-b127c4c262be.webp?600 |}}

===== Утилиты =====


  * Buildah: это инструмент с открытым исходным кодом на базе Linux, используемый для создания контейнеров, совместимых с Open Container Initiative (OCI). Buildah может создавать и управлять контейнерами без полной установленной среды выполнения контейнера или демона.
  * Skopeo: это утилита командной строки для выполнения различных операций с образами контейнеров и реестрами образов. Она может проверять образы в удаленном реестре без необходимости загрузки всего образа, что делает ее облегченным решением для работы с контейнером.
  * Podman Сompose: инструмент, подобный Docker Compose, для запуска мультиконтейнерных приложений.
  * runc: обеспечивает базовую функциональность по созданию, запуску и управлению контейнерами для Podman и Buildah.
  * crun: опциональная среда выполнения, которая обеспечивает большую гибкость, контроль и безопасность для контейнеров без root-доступа (с ограниченными привилегиями).
  * Rancher Desktop: Kubernetes и управление контейнерами на рабочем столе
  * Colima: Docker (и Kubernetes) на macOS с минимальной настройкой
  * Finch: Finch — клиент командной строки для локальной разработки контейнеров.

===== Основные команды =====


<code bash>
$ podman machine init --cpus 2 --memory 2048 --disk-size 20
$ podman machine start
$ podman system connection default podman-machine-default-root
$ podman info
</code>

<code bash>
$ podman create -p 8080:8080 --name myapp quay.io/rhatdan/myimage
$ podman create --label "io.containers.autoupdate=registry" -p 8080:8080 --name myapp quay.io/rhatdan/myimage
397ad15601868eb6fd77fe0b67136869cde9e0ffad90ee5095a19de5bb4b999e
</code>

<code bash>
$ podman-compose up -d
$ podman-compose ps
</code>

===== podman systemd =====

<code bash>
$ podman generate systemd --new myapp > $HOME/.config/systemd/user/myapp-new.service
$ podman generate systemd myapp --new > $HOME/.config/systemd/user/myapp-new.service
</code>

====== Получение образов ======

<code bash>
$ skopeo --debug copy --all docker://nginx:latest dir:///tmp/nginx
</code>

====== Создание контейнеров ======


<code bash>
$ podman pull docker.io/library/hello-world
$ podman run --rm docker.io/library/hello-world
</code>