LXC-контейнеры в Proxmox VE: создание и управление

Proxmox VE · 19.04.2026
LXC-контейнеры в Proxmox VE: создание и управление

LXC-контейнеры (Linux Containers) в Proxmox используют ядро хост-системы, что делает их значительно легче и быстрее, чем полные VM. Контейнер запускается за секунды и потребляет минимум ресурсов при том же уровне изоляции для большинства задач.

VM vs LXC: когда что использовать

КритерийVM (KVM)LXC-контейнер
Время запуска30–60 секунд1–3 секунды
Потребление RAMБольше (собственное ядро)Меньше (общее ядро)
ИзоляцияПолная (аппаратная)Частичная (пространства имён)
ОСЛюбая (Windows, Linux, BSD)Только Linux
Производительность I/OНебольшие потериПочти нативная
Поддержка DockerПолнаяОграниченная (нужен nesting)

Шаг 1: Загрузка шаблона контейнера

# Обновить список шаблонов
pveam update

# Показать доступные шаблоны
pveam available | grep -E "debian|ubuntu|alpine"

# Скачать шаблон
pveam download local debian-12-standard_12.7-1_amd64.tar.zst

Или через веб-интерфейс: local → CT Templates → Templates → выбрать и скачать.

Шаг 2: Создание контейнера

# Создать непривилегированный контейнер с ID 200
pct create 200 local:vztmpl/debian-12-standard_12.7-1_amd64.tar.zst   --hostname mycontainer   --rootfs local-lvm:8   --memory 512   --swap 512   --cores 1   --net0 name=eth0,bridge=vmbr0,ip=dhcp   --password SecurePass123   --unprivileged 1   --onboot 1

# Запустить контейнер
pct start 200

# Открыть консоль
pct enter 200

Привилегированные vs непривилегированные контейнеры

Рекомендация: Всегда используйте --unprivileged 1 (по умолчанию). Непривилегированные контейнеры более безопасны — процессы внутри работают от UID/GID, смещённых на 100000, что исключает эскалацию привилегий на хост.

Привилегированные контейнеры нужны только для специфических задач: работа с устройствами, NFS-монтирование, некоторые сетевые функции.

Монтирование bind mounts

# Примонтировать директорию хоста в контейнер
pct set 200 --mp0 /data/shared,mp=/mnt/shared,backup=0

# Примонтировать через конфигурационный файл
cat /etc/pve/lxc/200.conf
# mp0: /data/shared,mp=/mnt/shared

Включение Docker в LXC

Для запуска Docker внутри LXC-контейнера нужны дополнительные настройки:

# Добавить в /etc/pve/lxc/200.conf на хосте Proxmox
features: keyctl=1,nesting=1

# Перезапустить контейнер
pct stop 200 && pct start 200

# Внутри контейнера установить Docker
curl -fsSL https://get.docker.com | bash
Безопасность: Docker в LXC с nesting=1 снижает изоляцию. Для продакшн-нагрузок рекомендуется Docker внутри полной VM.

Полезные команды pct

# Список контейнеров
pct list

# Статус контейнера
pct status 200

# Остановить
pct stop 200

# Снапшот
pct snapshot 200 backup1

# Клонировать контейнер
pct clone 200 201 --full --hostname container2

# Удалить
pct destroy 200
← Назад в базу знаний Задать вопрос поддержке