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

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

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

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

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

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

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

Нам необходимо создать контейнер с такими настройками:

  • General: Hostname=portainer-docker

  • Template: Ubuntu 22.04 или Debian 12

  • Disks: 8GB

  • CPU: 2 cores

  • Memory: 2048 MB

Далее необходимо подключиться к нему через 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