Главная
|
Услуги и цены
VDS
Выделенные серверы
Размещение сервера
|
F.A.Q
|
О компании
|

Установка и настройка Portainer на Ubuntu

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

  • 1. Проверяем Docker
  • 2. Создаём том для данных Portainer
  • 3. Устанавливаем Portainer
  • 4. Первый вход и настройка администратора
  • 5. Интерфейс
  • 6. Работа с контейнерами
  • 7. Работа со Stacks (docker-compose)
  • 8. Создаём дополнительных пользователей
  • 9. Открываем порты в файрволе
  • 10. Обновление Portainer
  • Полезные команды
  • Итог

Требования

  • Ubuntu 20.04 / 22.04 / 24.04
  • Docker Engine установлен и запущен
  • Права sudo
  • Открытый порт 9443 (HTTPS) или 9000 (HTTP)

Если Docker ещё не установлен, то сначала поставьте его.

Если вы только купили сервер:
Подключитесь к серверу
Выполните подготовку сервера к работе

Шаг 1. Проверяем Docker

Убедимся, что Docker работает:

docker --version
sudo systemctl status docker

Должна вернуться версия Docker и статус active (running).
Если Docker не установлен, установите его командами:

curl -fsSL https://get.docker.com | sudo sh
sudo systemctl enable docker
sudo systemctl start docker

Шаг 2. Создаём том для данных Portainer

Portainer хранит свои настройки, пользователей и конфигурации в Docker-томе. Создаём его заранее:

sudo docker volume create portainer_data

Шаг 3. Устанавливаем Portainer

Portainer сам распространяется как Docker-контейнер. Запускаем:

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

Ключевые параметры:

--restart=always — контейнер автоматически перезапустится после ребута сервера или при падении. Без этого после перезагрузки Portainer придётся запускать вручную.

-v /var/run/docker.sock:/var/run/docker.sock — Docker socket позволяет Portainer управлять Docker на хосте. Без него интерфейс запустится, но ничего не увидит.

-p 9443:9443 — HTTPS-интерфейс. Рекомендуется использовать именно его.

-p 9000:9000 — HTTP-интерфейс. Удобен для локальной работы или если HTTPS пока не настроен.

Проверяем, что контейнер запустился:

sudo docker ps

В списке должен появиться контейнер portainer со статусом Up.

Шаг 4. Первый вход и настройка администратора

Открываем в браузере:

https://ваш_ip:9000

Браузер предупредит о самоподписанном сертификате, это нормально на первом запуске. Нажмите «Дополнительно» и перейдите на сайт.

При первом входе Portainer предложит создать администратора. Введите имя пользователя и надёжный пароль.

Важно: у вас есть примерно 5 минут после первого запуска, чтобы создать администратора. Если не успели, то Portainer заблокируется в целях безопасности. В этом случае перезапустите контейнер: sudo docker restart portainer и попробуйте снова.

После создания аккаунта Portainer предложит выбрать среду управления.
Выбирайте Docker —> управление локальным Docker на этом же сервере. Нажмите Connect.

Шаг 5. Интерфейс

После входа вы попадёте на главный экран с обзором вашей Docker-среды.

Dashboard — общая сводка: сколько контейнеров запущено, остановлено, сколько образов, томов и сетей.
Containers — список всех контейнеров. Здесь можно запускать, останавливать, перезапускать, удалять контейнеры, смотреть логи и открывать терминал прямо в браузере.

Images — список скачанных образов. Можно удалять неиспользуемые, скачивать новые, смотреть теги.

Volumes — тома Docker. Видно, какой том к какому контейнеру привязан и сколько места занимает.

Networks — сети Docker. Можно создавать новые сети и управлять существующими.

Stacks — это docker-compose в интерфейсе Portainer.

Шаг 6. Работа с контейнерами

Перейдите в Containers. Здесь вы увидите все контейнеры, включая сам Portainer.

Просмотр логов

Нажмите на имя контейнера → вкладка Logs. Вы увидите вывод контейнера в реальном времени, то же самое, что docker logs -f имя_контейнера в терминале.

Терминал в контейнере

Вкладка Console → нажмите Connect. Открывается терминал прямо в браузере, аналог docker exec -it имя_контейнера bash. Очень удобно для быстрой отладки без SSH.

Запуск нового контейнера

Нажмите Add container в правом верхнем углу. Заполните форму:

  • Name — имя контейнера
  • Image — образ (например, nginx:latest)
  • Port mapping — проброс портов
  • Volumes — монтирование томов
  • Restart policy — политика перезапуска

Это удобно для быстрого запуска контейнеров без запоминания длинных команд.

Появится второй контейнер

Шаг 7. Работа со Stacks (docker-compose)

Stacks — это полезная функция Portainer для тех, кто работает с многоконтейнерными приложениями. Вы пишете обычный docker-compose.yml и запускаете его прямо через интерфейс.

Перейдите в Stacks → Add stack.

Дайте имя стеку, например, my-app.

В поле Web editor вставьте ваш docker-compose конфиг. Например, простой стек с Nginx:

version: '3.8'

services:
  nginx:
    image: nginx:latest
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html
    restart: always

Нажмите Deploy the stack.

Portainer развернёт все контейнеры из файла. После этого стек появится в списке можно останавливать, обновлять и удалять его целиком, а не по одному контейнеру.

Совет: если вы уже используете docker-compose файлы на сервере, Portainer подхватит их автоматически. Существующие стеки появятся в разделе Stacks со статусом limited . Это значит, что они запущены вне Portainer, но видны в интерфейсе.

Шаг 8. Создаём дополнительных пользователей

Portainer поддерживает многопользовательский режим с разграничением прав.
Перейдите в Users → Add user.
Заполните имя и пароль. Роли бывают двух типов:
Administrator — полный доступ ко всему, включая настройки Portainer.
Standard user — ограниченный доступ. По умолчанию видит только то, что ему явно разрешено.
После создания пользователя можно назначить ему доступ к конкретным ресурсам через Teams и Access Control на уровне контейнеров и стеков. Это удобно, когда один сервер используют несколько команд или проектов.

Шаг 9. Открываем порты в файрволе

# HTTPS интерфейс (рекомендуется)
sudo ufw allow 9443/tcp

# HTTP интерфейс (опционально)
sudo ufw allow 9000/tcp

Открывать Portainer всему интернету рискованно. Лучше ограничьте доступ по IP:

sudo ufw allow from ВАШ_IP to any port 9443

Или настройте Nginx как обратный прокси с базовой авторизацией и SSL-сертификатом Let's Encrypt.

Шаг 10. Обновление Portainer

Когда выходит новая версия, обновление занимает три команды:

sudo docker stop portainer
sudo docker rm portainer
sudo docker pull portainer/portainer-ce:latest

После этого запускаем контейнер заново той же командой из Шага 3. Том portainer_data сохранится, все настройки и пользователи останутся на месте.

Полезные команды

Посмотреть логи Portainer из терминала:

sudo docker logs portainer -f

Перезапустить Portainer:

sudo docker restart portainer

Посмотреть, сколько места занимает том с данными:

sudo docker system df -v | grep portainer_data

Сбросить пароль администратора (если забыли):

sudo docker run --rm \
  -v portainer_data:/data \
  portainer/helper-reset-password

Команда выведет новый случайный пароль, используйте его для входа, потом смените в настройках.

Почистить неиспользуемые образы, контейнеры и тома (осторожно):

sudo docker system prune -a

Итог

Portainer — это удобное дополнение к Docker. Удобно для повседневных задач если у вас много контейнеров.

logo
© 2022 62yun
Все права защищены
vk.com/62yuncom
support@62yun.ru
logo
vk.com/62yuncom
support@62yun.ru
Услуги
VDS Выделенные серверы
Полезное
F.A.Q О компании Политика конфиденциальности Оферта
Способы оплаты
wechatpay visa mastercard
MirAccept
Партнеры
25port
© 2022 62yun Все права защищены
ВВЕРХ