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

Базовый функционал#

Включение отладки#

Для включения отладки используется опция –log-level с указанием требуемого уровня отладки.

Возможные уровни отладки (перечислены в порядке уменьшения количества выводимой информации):

  • trace;

  • debug;

  • info;

  • warn (применяется по умолчанию);

  • warning;

  • error;

  • fatal;

  • panic.

Отладочная информация выводится в стандартный поток сообщений об ошибках (stderr).

Пример команды с включенным уровнем отладки debug:

podman --log-level debug ps -a

Загрузка готовых образов#

Образы доступны для скачивания по ссылке в разделе astra.

Для загрузки образа можно использовать podman-команду pull:

podman pull <имя_образа>

Имя образа может включать явное указание репозитория (полное имя).

Например, образ Astra Linux Special Edition 1.8.1 из репозитория registry.astralinux.ru: registry.astralinux.ru/library/astra/ubi18:1.8.1.

podman pull registry.astralinux.ru/library/astra/ubi18:1.8.1

Как и в docker, поиск и загрузка образа могут быть выполнены одной командой запуска контейнера (podman-команда run).

Например, загрузка образа и запуск контейнера Astra Linux Special Edition 1.8.1 из репозитория registry.astralinux.ru:

podman --runtime=runc --cgroup-manager=cgroupfs run -it --rm registry.astralinux.ru/library/astra/ubi18:1.8.1 /bin/bash

Поиск готовых образов#

Для поиска образов в репозиториях используется podman-команда search. Репозиторий, в котором должен выполняться поиск, может быть указан в аргументе команды как префикс шаблона для поиска. Например, поиск в репозитории Astra Linux (registry.astralinux.ru):

podman search --list-tags registry.astralinux.ru/astra/ubi18

Список загруженных образов#

Список загруженных образов можно получить podman-командой images:

podman images

Пример вывода команды:

REPOSITORY                                  TAG         IMAGE ID      CREATED       SIZE
registry.astralinux.ru/library/astra/ubi18  1.8.1       c32709baad49  6 months ago  163 MB

Запуск контейнера из образа#

Для запуска контейнера из загруженного образа используется podman-команда run, например:

podman run -it --rm registry.astralinux.ru/library/astra/ubi18:1.8.1 /bin/bash

Для запуска контейнера в фоновом режиме используется опция podman-команды -d:

podman run -d <имя_образа>

При запуске контейнера к его файловой системе может быть примонтирован каталог из файловой системы хост-машины.

Для это используется опция –mount, например:

podman run --mount type=bind,source=<монтируемый_каталог>,target=<точка_монтирования> <имя_образа>

Получение списка запущенных и сохраненных контейнеров#

Для получения списка запущенных (работающих) контейнеров используется docker-команда ps:

podman ps

Для получения списка всех контейнеров (в том числе завершивших работу) используется опция -a:

podman ps -a

Запуск сохраненного контейнера#

Для запуска сохраненного контейнера используется podman-команда start, например:

podman start <идентификатор_контейнера>

Остановка контейнера#

Для остановки контейнера используется podman-команда stop:

podman stop <идентификатор_контейнера>

Удаление контейнера#

Примечание

Перед удалением контейнер должен быть остановлен.

Команда:

podman rm <идентификатор_контейнера>

Получение информации о контейнере, журналов контейнера, статистики работы контейнеров#

Получение полной информации о контейнере:

podman inspect <идентификатор_контейнера>

Эта команда выдает значительный объем информации, сократить который можно с помощью опции –format.

Например, получить только сетевой адрес контейнера:

podman inspect <идентификатор_контейнера> --format '{{.NetworkSettings.IPAddress}}'

Для получения журналов контейнера используется podman-команда logs:

podman logs <идентификатор_контейнера>

Для получения статистики работы контейнеров используется podman-команда stats:

podman stats

Эта команда после запуска не завершает свою работу, а выводит статистику с заданным интервалом (по-умолчанию - 5 секунд).

Для однократного вывода статистики с последующим завершением работы использовать опцию –no-stream:

podman stats --no-stream

Удаление образа#

Примечание

Для удаления образа предварительно необходимо остановить и удалить все созданные из него контейнеры.

Команда:

podman rmi <идентификатор_образа>

Оркестрация контейнеров#

Создание нового пода#

podman --cgroup-manager cgroupfs pod create <имя_пода>

При создании пода:

  • если имя пода не задано то используется случайно сгенерированное имя;

  • генерируется полный идентификатор (выводится на экран при успешном создании пода);

  • в поде создается служебный контейнер (так называемый infra-контейнер), для чего загружается специальный образ podman-pause. Этот контейнер не выполняет никаких функций, а используется для резервирования места для пода в пространстве имен. Это позволяет в дальнейшем подключать к поду другие (функциональные) контейнеры.

В дальнейшем поды идентифицируются именами или идентификаторами - полным идентификатором, или кратким (первые символы полного идентификатора).

Список существующих подов#

Проверить список подов можно командой:

podman pod ps

Команда отображает краткий идентификатор пода (POD ID, для отображения полных идентификаторов использовать опцию –no-trunc), имя пода (NAME), а также идентификатор infra-контейнера (INFRA ID). Количество контейнеров (# OF CONTAINERS) в новом поде всегда один — это служебный infra-контейнер. Статус пода (STATUS) может иметь следующие значения:

  • Created — в поде нет исполняющихся или остановленных контейнеров;

  • Running — хотя бы один контейнер исполняется;

  • Stopped — исполняющихся контейнеров нет, есть хотя бы один остановленный;

  • Exited — все контейнеры остановлены.

  • Dead — ошибка получения статуса.

Получить имена контейнеров в подах можно командой:

podman pod ps --ctr-names

Имена контейнеров перечислены в столбце NAMES через запятую.

Добавление контейнера в под#

Для добавления контейнеров в под используются podman-команды создания и запуска контейнеров с опцией –pod=<идентификатор_пода>, например:

podman create --pod=testpod nginx