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

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

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

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

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

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

image.png

 

Datacenter → твой_узел → Create CT

  • General: ID=999, Hostname=portainer, Password=rootpass

  • 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

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

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