Docker из командной строки это удобно, но когда контейнеров становится больше пяти, то удобнее может быть использовать Portainer. Он даёт удобный веб-интерфейс для управления контейнерами, образами, томами и сетями через браузер.
Если 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
Portainer хранит свои настройки, пользователей и конфигурации в Docker-томе. Создаём его заранее:
sudo docker volume create portainer_data
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.

Открываем в браузере:
https://ваш_ip:9000

Браузер предупредит о самоподписанном сертификате, это нормально на первом запуске. Нажмите «Дополнительно» и перейдите на сайт.
При первом входе Portainer предложит создать администратора. Введите имя пользователя и надёжный пароль.
Важно: у вас есть примерно 5 минут после первого запуска, чтобы создать администратора. Если не успели, то Portainer заблокируется в целях безопасности. В этом случае перезапустите контейнер:
sudo docker restart portainerи попробуйте снова.
После создания аккаунта Portainer предложит выбрать среду управления.
Выбирайте Docker —> управление локальным Docker на этом же сервере. Нажмите Connect.

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

Dashboard — общая сводка: сколько контейнеров запущено, остановлено, сколько образов, томов и сетей.
Containers — список всех контейнеров. Здесь можно запускать, останавливать, перезапускать, удалять контейнеры, смотреть логи и открывать терминал прямо в браузере.
Images — список скачанных образов. Можно удалять неиспользуемые, скачивать новые, смотреть теги.
Volumes — тома Docker. Видно, какой том к какому контейнеру привязан и сколько места занимает.
Networks — сети Docker. Можно создавать новые сети и управлять существующими.
Stacks — это docker-compose в интерфейсе Portainer.
Перейдите в Containers. Здесь вы увидите все контейнеры, включая сам Portainer.

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


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


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

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

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

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, но видны в интерфейсе.
Portainer поддерживает многопользовательский режим с разграничением прав.
Перейдите в Users → Add user.
Заполните имя и пароль. Роли бывают двух типов:
Administrator — полный доступ ко всему, включая настройки Portainer.
Standard user — ограниченный доступ. По умолчанию видит только то, что ему явно разрешено.
После создания пользователя можно назначить ему доступ к конкретным ресурсам через Teams и Access Control на уровне контейнеров и стеков. Это удобно, когда один сервер используют несколько команд или проектов.
# 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.
Когда выходит новая версия, обновление занимает три команды:
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. Удобно для повседневных задач если у вас много контейнеров.