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

docker и Portainer в lxc контейнере proxmox

Использование Proxmox и lxc контейнеров в нем, позволяет оптимизировать использование ресурсов и повышает отказоустойчивость инфраструктуры, по сути lxc контейнер является сильно "облегченной" операционной системой, на которую можно установить только те пакеты которые необходимы. Но сама по себе идея работы lxc контейнера, не является новой, одним из самых популярных аналогов lxc контейнеров является docker. Так как я не ограничен никакими рамками в использовании ПО отказываться от docker и docker-compose я не вижу никакого смысла.
Proxmox и его lxc контейнеры никак не ограниченны в установке ПО поэтому мне ничего не мешает выделить ресурсы ноды под использование другой контейнерной структуры.

Portainer — это открытый веб-интерфейс для управления контейнерами Docker, который упрощает работу частично освобождая от использования командной строки.

В гайде описан процесс созданияустановки в lxc контейнера и установки на негоконтейнер docker и portainer

Создание LXC контейнера

Процесс создания lxc контейнера описан image.pngтут

Нам

необходимо

Datacenterсоздать →контейнер твой_узелс →такими Create CT
настройками:

  • General: ID=999, Hostname=portainer, Password=rootpassportainer-docker

  • Template: Ubuntu 22.04 или Debian 12 (скачай если нет)

  • Disks: 8GB rootfs

  • CPU: 2 cores

  • Memory: 2048 MB

  • Network: vmbr0, DHCP (или статический 192.168.1.50)

  • DNS: 192.168.1.1 (твой роутер)

  • Confirm → Finish → Start

Далее необходимо подключиться к нему через ssh

Установка docker

apt update && apt install curl -y
curl -fsSL https://get.docker.com | sh
systemctl enable --now docker

Установка portainer

docker volume create portainer_data
docker run -d -p 9000:9000 --name portainer --restart always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v portainer_data:/data \
    portainer/portainer-ce:latest

Доступ http://<ip lxc контейнера>:9000