Перейти к основному содержимому

Инструменты Podman

Установка Podman

sudo apt install -y podman

Синтаксис Podman

Верхнеуровнево синтаксис Podman выглядит следующим образом:

podman [глобальные_опции] <команда>

При этом некоторые глобальные опции могут требовать указания аргументов, а команды — иметь свои опции и аргументы.

Как читать синтаксис команд Podman

  • [параметр] — опциональный параметр

  • <параметр> — обязательный параметр

  • параметр1|параметр2 — необходим один из параметров

Популярные глобальные опции

--connection, -c <имя_подключения>использовать указанный контекст для удаленного подключения
--version, -vвывести версию
--help, -hвывести справку по команде

Контейнеры

примечание

attach

Подключиться к запущенному контейнеру.

Использование

Синтаксис

podman attach [опции] <контейнер>

Популярные опции

--latest, -lподключиться к последнему созданному контейеру
--no-stdinне подключать stdin

Для отключения от контейнера используйте сочетание клавиш ctrl-p или ctrl-q.

Руководство: man podman-attach

примечание

run

Запустить процесс внутри нового контейнера, созданного на основе указанного образа. Процессом является команда, указанная после CMD в Containerfile.

Использование

Синтаксис

podman run [опции] <образ> [команда [аргументы]]

Популярные опции

--attach, -a=stdin|stdout|stderr указать поток для подключения
--detach, -dзапустить контейнер в фоновом режиме
--entrypoint=<команда>переопределить значения ENTRYPOINT, заданные в образе контейнера
--env, -e <переменная_окружения>установить переменную окружения
--interactive, -iподдерживать stdin открытым для взаимодействия с контейнером
--name=<имя>присвоить имя контейнеру
--pod=<имя>запустить контейнер в существующем поде
--privilegedвыдать контейнеру расширенные права
--publish, -p=[[ip][порт_хоста]:]<порт_контейнера>[/протокол]пробросить порты из конейтнера в хост-систему
--rmудалить контейнер автоматически после завершения
--tty, -tвыделить псевдотерминал для контейнера
--user, -u=пользователь[:группа]установить пользователя и группу внутри контейнера
--volume, -v=[[том_ист|дир_хоста:]дир_контейнера[:опции]]монтировать том или директорию хоста в контейнер

Руководство: man podman-run

примечание

init

Инициализировать контейнер (запустить процесс init).

Использование

Что такое инициализация

Инициализация выполняет необходимые для запуска контейнера задачи: монтирование файловых систем, создание спецификации OCI, инициализация контейнерной сети. Если контейнер не инициализирован, команды podman start и podman run сделают это автоматически перед его запуском. Эта команда предназначена для проверки или изменения файловой системы контейнера или спецификации OCI перед его запуском. Это может быть использовано для проверки контейнера перед его запуском или для отладки причин, по которым контейнер не запускается.

Синтаксис

podman init [опции] <контейнер>

Популярные опции

--all, -aинициализировать все контейнеры
--latest, -lинициализировать последний созданный контейнер

Руководство: man podman-init

примечание

start

Запустить один или несколько остановленных контейнеров.

Использование

Синтаксис

podman start [опции] <контейнер> [контейнер...]

Популярные опции

--all, -aзапустить все остановленные контейнеры
--attach, -aподключиться к выводу контейнера
--interactive, -iподдерживать stdin открытым для взаимодействия с контейнером
--latest, -lзапустить последний созданный контейнер

Руководство: man podman-start

примечание

stop

Остановить один или несколько запущенных контейнеров.

Использование

Синтаксис

podman stop [опции] <контейнер> [контейнер...]

Популярные опции

--all, -aостановить все запущенные контейнеры
--latest, -lостановить последний созданный контейнер

Руководство: man podman-stop

примечание

restart

Перезапустить один или несколько контейнеров.

Использование

Синтаксис

podman restart [опции] <контейнер> [контейнер...]

Популярные опции

--all, -aперезапустить все контейнеры
--latest, -lперезапустить последний созданный контейнер
--runningперезапустить работающие контейнеры

Руководство: man podman-restart

примечание

exec

Выполнить команду в запущенном контейнере.

Использование

Синтаксис

podman exec [опции] <контейнер> [команда [аргументы]]

Популярные опции

--detach, -dзапустить команду в фоновом режиме
--interactive, -iподдерживать stdin открытым для взаимодействия с контейнером
--tty, -tвыделить псевдо-TTY
--workdir, -w=<директория>установить рабочую директорию внутри контейнера для выполняемой команды
--user, -u=<пользователь>[:группа]запустить команду от указанного пользователя и группы

Руководство: man podman-exec

примечание

ps

Вывести список контейнеров.

Использование

Синтаксис

podman ps [опции]

Популярные опции

--all, -aпоказать все контейнеры (включая остановленные)
--format=<значение>вывести информацию в указанном формате
--latest, -lпоказать только последний созданный контейнер
--no-truncне обрезать вывод
--quiet, -qпоказать только ID контейнеров

Руководство: man podman-ps

примечание

rm

Удалить один или несколько контейнеров.

Использование

Синтаксис

podman rm [опции] <контейнер> [контейнер...]

Популярные опции

--all, -aудалить все остановленные контейнеры
--force, -fпринудительно удалить запущенный контейнер
--latest, -lудалить последний созданный контейнер
--dependудалить контейнер вместе с его зависимостями

Руководство: man podman-rm

Образы

примечание

build

Собрать образ из Containerfile или Dockerfile.

Использование

Синтаксис

podman build [опции] <путь_к_контексту>

Популярные опции

--file, -f=<Containerfile>путь к Containerfile или Dockerfile
--tag, -t=<имя образа>имя и тег для образа
--quiet, -qскрыть вывод
--no-cacheне использовать кэш при сборке
--squashобъединить все новые слои в один
--squash-allобъединить все слои в один
--build-arg=аргумент=величиназадать значение аргументов сборки для Containerfile без сохранения их в конечном образе

Руководство: man podman-build

примечание

pull

Загрузить образ из реестра контейнеров.

Использование

Синтаксис

podman pull [опции] <источник>

Популярные опции

-authfile=<путь>указать путь к файлу авторизации
--quiet, -qскрыть вывод

Руководство: man podman-pull

примечание

push

Отправить образ в реестр контейнеров.

Использование

Синтаксис

podman push [опции] <образ> [репозиторий]

Популярные опции

-authfile=<путь>указать путь к файлу авторизации
--quiet, -qскрыть вывод

Руководство: man podman-push

примечание

images

Вывести список образов.

Использование

Синтаксис

podman images [опции] [образ]

Популярные опции

--all, -aпоказать все образы (включая промежуточные)
--digestsвывести хэши образов
--filter, -fфильтровать значения
--quiet, -qпоказать только ID образов
--historyпоказать историю имен образов
--sort=<created|id|repository|size|tag>сортировать по заданным критериям

Руководство: man podman-images

примечание

rmi

Удалить один или несколько образов.

Использование

Синтаксис

podman rmi [опции] <образ> [образ...]

Популярные опции

--all, -aудалить все неиспользуемые образы
--force, -fпринудительно удалить образ вместе с контейнером

Руководство: man podman-rmi

примечание

tag

Добавить тег к образу.

Использование

Синтаксис

podman tag <образ>[:тег] [новое_имя[:тег] ...] [опции]

Руководство: man podman-tag

примечание

history

Показать историю изменений образа.

Использование

Синтаксис

podman history [опции] <образ>

Популярные опции

--format=<значение>изменить формат вывода
--human, -Hпоказать размеры и даты в человекочитаемом формате
--no-truncне обрезать вывод
--quiet, -qпоказать только ID слоев

Руководство: man podman-history

примечание

commit

Создать новый образ из изменений в контейнере.

Использование

Синтаксис

podman commit [опции] <контейнер> [образ]

Популярные опции

--author, -aуказать автора образа
--change, -c=<Containerfile>применить инструкции к образу
--format=<значение>изменить формат вывода
--quiet, -qскрыть вывод

Руководство: man podman-commit

Информация

примечание

info

Показать системную информацию о Podman.

Использование

Синтаксис

podman info [опции]

Популярные опции

--formatформат вывода (JSON, table и  т. д.)

Руководство: man podman-info

примечание

inspect

Вывод конфигурации контейнера, образа, хранилища, сети, или пода в формате JSON.

Использование

Синтаксис

podman inspect [опции] <имя|id>

Популярные опции

--format, -fизменить формат вывода на шаблон Go
--latest, -lвывести конфигурацию последнего созданного контейнера
--typeтип объекта для инспекции (container, image, volume, network, pod, all)

Руководство: man podman-inspect

примечание

version

Показать версию Podman и сопутствующую информацию.

Использование

Синтаксис

podman version [опции]

Популярные опции

--formatизменить формат вывода на JSON или шаблон Go

Руководство: man podman-version

примечание

diff

Показать изменения контейнера или файловой системы образа.

Использование

Синтаксис

podman diff [опции] <контейнер|образ>

Популярные опции

--formatизменить формат вывода на JSON
--latest, -lпоказать изменения последнего созданного контейнера

Руководство: man podman-diff

примечание

top

Показать запущенные процессы в контейнере.

Использование

Синтаксис

podman top [опции] <контейнер> [формат_ps]

Популярные опции

--latest, -lприменить к последнему созданному контейнеру

Руководство: man podman-top

примечание

logs

Отобразить логи контейнера.

Использование

Синтаксис

podman logs [опции] <контейнер>

Популярные опции

--follow, -fследить за выводом логов
--latest, -lприменить к последнему созданному контейнеру
--since=<timestamp>показать логи, начиная с указанного времени
--until=<timestamp>показать логи до указанного времени
--tail=<N>показать только последние N строк
--timestamps, -tпоказать временные метки

Руководство: man podman-logs

примечание

Поиск образов в реестрах контейнеров.

Использование

Синтаксис

podman search [опции] <запрос>

Популярные опции

--formatизменить формат вывода на шаблон Go
--limit=<N>ограничить количество результатов
--filter, -f=<значение>отфильтровать данные по указанным условиям
примечание

healthcheck run

Выполнить проверку состояния контейнера.

Использование

Возможные ответы:

  • 0: проверка состояния завершилась успешно,
  • 1: проверка состояния провалилась,
  • 125: произошла ошибка.

Синтаксис

podman healthcheck run <контейнер>

Руководство: man podman-healthcheck

примечание

stats

Показать статистику использования ресурсов контейнерами.

Использование

Синтаксис

podman stats [опции] [контейнер...]

Популярные опции

--all, -aпоказать статистику для всех контейнеров
--format, -f=<значение>поменять формат вывода на JSON или шаблон Go
--no-streamне обновлять статистику в реальном времени
--interval, -i=<N>задать интервал обновления (по умолчанию 5с)
--latest, -lприменить к последнему созданному контейнеру

Руководство: man podman-stats

Томы и файлы

примечание

cp

Копировать файлы и папки между контейнером и хостом.

Использование

Синтаксис

podman cp [опции] [контейнер:]<источник> [контейнер:]<путь>

Популярные опции

--archive, -a[=true|false]управлять UID/GID файлов при копировании
--overwriteдопустить перезаписывание директорий файлами и наоборот

Если --archive=true (по умолчанию), файлы внутри контейнера получают UID/GID пользователя контейнера.

Если --archive=false, сохраняются исходные UID/GID файлов с хоста.

Руководство: man podman-cp

примечание

volume create

Создать новый том.

Использование

Синтаксис

podman volume create [опции] [имя_тома]

Руководство: man podman-volume-create

примечание

volume rm

Удалить один или несколько томов.

Использование

Синтаксис

podman volume rm [опции] <том> 

Популярные опции

--all, -aудалить все неиспользуемые тома
--force, -fпринудительно удалить том вместе с его контейнером

Руководство: man podman-volume-rm

примечание

volume ls

Вывести список томов.

Использование

Синтаксис

podman volume ls [опции]

Популярные опции

--format=<значение>изменить формат вывода на JSON или шаблон Go
--quiet, -qпоказать только имена томов

Руководство: man podman-volume-ls

примечание

volume inspect

Показать информацию о томе.

Использование

Синтаксис

podman volume inspect [опции] <том> [том...]

Популярные опции

--all, -aвывести информацию о всех томах
--format, -fизменить формат вывода на JSON или шаблон Go

Руководство: man podman-volume-inspect

Поды

примечание

pod create

Создать новый под (группу контейнеров).

Использование

Синтаксис

podman pod create [опции] [имя_пода]

Популярные опции

--hostname, -hзадать имя хоста внутри инфра-контейнера пода
--infra-image=<образ>указать образ для инфра-контейнера
--nameимя пода
--replaceзаменить под с таким же именем
--publish, -pпробросить порты с хоста в инфра-контейнер пода

Руководство: man podman-pod-create

примечание

pod logs

Вывести логи пода.

Использование

Синтаксис

podman pod logs [опции] <под>

Популярные опции

--container, -c <контейнер>показать лог указанного контейнера
--follow, -fследить за выводом логов в реальном времени
--latest, -lприменить к последнему созданному поду
--since=<timestamp>показать логи, начиная с указанного времени
--until=<timestamp>показать логи до указанного времени
--tail=<N>показать только последние N строк
--timestamps, -tпоказать временные метки

Руководство: man podman-pod-logs

примечание

pod inspect

Показать информацию о поде.

Использование

Синтаксис

podman pod inspect [опции] <под>

Популярные опции

--format, -f=<значение>изменить формат вывода на JSON или шаблон Go
--latest, -lприменить к последнему созданному поду

Руководство: man podman-pod-inspect

примечание

pod ps

Вывести список подов.

Использование

Синтаксис

podman pod ps [опции]

Популярные опции

--namespace, -nsпоказать информацию об изоляции пода
--format=<значение>изменить формат вывода на JSON или Go-шаблон
--latest, -lпоказать только последний созданный под
--no-truncне обрезать вывод
--quiet, -qпоказать только ID подов

Руководство: man podman-pod-ps

примечание

pod rm

Удалить один или несколько подов.

Использование

Синтаксис

podman pod rm [опции] <под>

Популярные опции

--all, -aудалить все остановленные поды
--force, -fпринудительно удалить запущенный под
--latest, -lудалить последний созданный под

Руководство: man podman-pod-rm

примечание

pod start

Запустить один или несколько подов.

Использование

Синтаксис

podman pod start [опции] <под> [под...]

Популярные опции

--all, -aзапустить все остановленные поды
--latest, -lзапустить последний созданный под

Руководство: man podman-pod-start

примечание

pod stop

Остановить один или несколько подов.

Использование

Синтаксис

podman pod stop [опции] <под> [под...]

Популярные опции

--all, -aостановить все запущенные поды
--latest, -lостановить последний созданный под

Руководство: man podman-pod-stop

примечание

compose

Управление многоконтейнерными приложениями с помощью Podman с возможностью использовать синтаксис и файлы Docker Compose.

Использование

Синтаксис

podman compose [опции] [команда[аргументы]]

Руководство: man podman-compose

Реестры контейнеров

примечание

login

Войти в реестр контейнеров.

Использование

Синтаксис

podman login [опции] [реестр]

Популярные опции

--password, -pпароль для входа
--password-stdinчитать пароль из stdin
--username, -uимя пользователя

Руководство: man podman-login

примечание

logout

Выйти из реестра контейнеров.

Использование

Синтаксис

podman logout [реестр]

Популярные опции

--all, -aвыйти из всех реестров

Руководство: man podman-logout