Основные команды#
Базовый функционал#
Включение отладки#
Для включения отладки используется опция –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