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