Тема
Ресурсы
Команды группы 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: trueinfra secret list
Выводит список всех секретов.
ssh server infra secret listinfra 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.zstinfra volume import
Импортирует данные в том из zstd-потока, переданного через stdin.
ssh server infra volume import <name>Пример:
bash
# Восстановить том из файла
ssh server infra volume import db_data < db_data.tar.zstinfra 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 listinfra 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: trueinfra network inspect
Выводит подробную информацию о сети в формате JSON.
ssh server infra network inspect <name>Пример:
bash
ssh server infra network inspect mynetinfra network remove
Удаляет сеть.
ssh server infra network rm <name>Пример:
bash
ssh server infra network rm mynetinfra network prune
Удаляет все неиспользуемые сети.
ssh server infra network pruneПример:
bash
ssh server infra network prune