Skip to content

Ресурсы

Команды группы infra управляют ресурсами Podman, которые используются стеками: секретами, томами и сетями.

Секреты

Podman secrets позволяют безопасно передавать чувствительные данные (пароли, токены, ключи) в контейнеры.

infra secret create

Создаёт секрет из данных, переданных через stdin.

ssh server infra secret create <name>

Пример:

bash
# Создать секрет из строки
echo "super-secret-password" | ssh server infra secret create db_password

# Создать секрет из файла
ssh server infra secret create db_password < password.txt

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

Чтобы секрет был доступен в стеке, укажите external: true в compose.yml:

yaml
secrets:
  db_password:
    external: true

infra secret list

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

ssh server infra secret list

infra secret remove

Удаляет секрет.

ssh server infra secret rm <name>

Пример:

bash
ssh server infra secret rm db_password

Тома

infra volume export

Экспортирует содержимое тома в сжатый поток (zstd), выводит в stdout.

ssh server infra volume export <name>

Пример:

bash
# Сохранить дамп тома в файл
ssh server infra volume export db_data > db_data.tar.zst

infra volume import

Импортирует данные в том из zstd-потока, переданного через stdin.

ssh server infra volume import <name>

Пример:

bash
# Восстановить том из файла
ssh server infra volume import db_data < db_data.tar.zst

infra volume prune

Удаляет все неиспользуемые тома (аналог podman volume prune -f).

ssh server infra volume prune

Пример:

bash
ssh server infra volume prune

Сети

infra network list

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

ssh server infra network list

infra network create

Создаёт сеть с заданными параметрами.

ssh server infra network create <name> [flags]

Флаги:

ФлагСокращениеОписание
--driver-dДрайвер сети (bridge, macvlan, ipvlan)
--subnetПодсеть в формате CIDR
--gatewayШлюз для подсети
--internalЗапретить внешний доступ из сети
--ipv6Включить IPv6

Примеры:

bash
# Создать сеть
ssh server infra network create mynet

# Создать сеть с заданной подсетью
ssh server infra network create mynet --subnet 10.0.0.0/24 --gateway 10.0.0.1

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

Чтобы стек использовал созданную сеть, укажите external: true:

yaml
services:
  app:
    networks:
      - mynet

networks:
  mynet:
    external: true

infra network inspect

Выводит подробную информацию о сети в формате JSON.

ssh server infra network inspect <name>

Пример:

bash
ssh server infra network inspect mynet

infra network remove

Удаляет сеть.

ssh server infra network rm <name>

Пример:

bash
ssh server infra network rm mynet

infra network prune

Удаляет все неиспользуемые сети.

ssh server infra network prune

Пример:

bash
ssh server infra network prune