Установка Portainer в LXC-контейнере на Proxmox для удобного управления Docker

Portainer — это мощная и удобная панель управления для работы с Docker-контейнерами прямо из браузера. Она позволяет управлять как локальными контейнерами, так и удаленными серверами. В этой статье разберемся процесс установки Portainer в контейнер LXC на систему виртуализации Proxmox.
1. Подготовка контейнера LXC
Мы начинаем с уже созданного LXC-контейнера на Proxmox (подробности создания контейнера здесь опустим). Подключаемся к нему через SSH и выполняем базовую настройку.
2. Обновление системы и установка Docker.
Сначала обновим систему, чтобы все пакеты были актуальными. Далее настроим репозиторий Docker и установим его:

# Обновляем систему
sudo apt update && sudo apt upgrade -y
# Добавляем репозиторий Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Устанавливаем Docker
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io -y
После установки убедитесь, что Docker установлен правильно, проверьте его версию:
docker -v
# Вывод: Docker version 27.3.1, build ce12230
Также можно проверить, что служба Docker успешно запустилась:
sudo systemctl status docker
3. Настройка пользователя для работы с Docker
По умолчанию Docker требует прав администратора (root), что может быть неудобно. Чтобы избежать запуска команды от root, добавьте пользователя в группу Docker. Создадим нового пользователя, назовем его, например, docker
и добавим его в группу docker
:
# Создаем пользователя
sudo useradd -m docker
# Добавляем пользователя в группу docker
sudo usermod -aG docker docker
Теперь можно войти в систему под пользователем docker
и проверить его доступ к Docker.
4. Установка Портейнера
Portainer сам является контейнером Docker, что ограничивает его установку и обновление. Для начала создания тома для хранения данных Portainer, чтобы информация сохранялась между перезапусками:
docker volume create portainer_data
Теперь загрузим последнюю версию Portainer Community Edition и запустим контейнер:
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
5. Доступ к веб-интерфейсу Portainer
Теперь контейнер Portainer запущен, и можно подключиться.
- Укажите IP-адрес вашего контейнера LXC. Если вы не указали статический IP-адрес, его можно найти через DHCP-сервер или выполнение команды:
ip a

Например, контейнер IP-адреса может быть 10.10.10.101
.
2. Откройте браузер на своем компьютере и проверьте адрес https://10.10.10.101:9443/
.

6. Тайм-аут интерфейса Portainer
Если вы откроете Portainer впервые спустя некоторое время после его запуска, может появиться сообщение о тайм-ауте интерфейса. Это функция безопасности, предотвращающая случайный запуск Portainer в сети без настроек.

Чтобы перезапустить Portainer, выполните следующую команду:
docker container restart portainer
На этом все! Теперь у вас настроен Portainer в LXC-контейнере на Proxmox, и можно легко управлять своими Docker-контейнерами через веб-интерфейс.
