Skip to content
  • Категории
  • Последние
  • Метки
  • Популярные
  • World
  • Пользователи
  • Группы
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • По умолчанию (Darkly)
  • Нет скина
Collapse

База знаний (кластер NBICS)

  1. Главная
  2. Portainer
  3. Установка Portainer в Docker

Установка Portainer в Docker

Запланировано Прикреплена Закрыта Перенесена Portainer
2 Сообщения 1 Posters 1 Просмотры 1 Watching
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • A Не в сети
    A Не в сети
    Admin
    написал отредактировано
    #1

    Установка Portainer в Docker (Вариант 1)


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

    Все тома для всех приложений, запущенных в Docker, по умолчанию сохраняются тут: /var/lib/docker/volumes/

    После применения следующей команды, каталог станет доступен по следующему пути: /var/lib/docker/volumes/portainer-data

    sudo docker volume create portainer_data
    

    Следующая команда запускает контейнер с Portainer (перед тем как запускать команду, просмотрите её описание ниже).

    sudo 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
    

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

        docker run — команда для запуска нового контейнера.
        -d — запускает контейнер в фоновом режиме (detached), что позволяет работать с командной строкой дальше, не блокируя терминал.
        -p 9000:9000 — пробрасывает порт 9000 контейнера на порт 9000 хоста. Это позволяет обращаться к веб-интерфейсу Portainer по адресу http://localhost:9000.
        --name portainer — задает контейнеру имя portainer, что упрощает его управление (например, при остановке или удалении контейнера можно будет обращаться по имени).
        --restart=always — настройка автозапуска контейнера. Контейнер будет перезапущен автоматически после перезагрузки системы или при его остановке.
        -v /var/run/docker.sock:/var/run/docker.sock — подключает сокет Docker, позволяя Portainer взаимодействовать с Docker-демоном напрямую. Это нужно для управления контейнерами, образами и прочими ресурсами Docker.
        -v portainer_data:/data — создаёт (если не создан) и подключает том portainer_data к /data внутри контейнера для хранения данных Portainer, включая настройки и информацию о подключенных Docker-окружениях.
        portainer/portainer-ce — указывает образ, из которого создаётся контейнер. В данном случае это Portainer CE (Community Edition), open-source версия Portainer. Если этого образа нет на компьютере, он автоматически скачается с Docker-репозитория (официальный репозиторий - DockerHub).
    

    После этого интерфейс Portainer будет доступен по адресу http://<ваш_сервер>:9000

    Если порт 9000 на хостовой системе занят (например, используется для PeerTube), порт с контейнера можно пробросить на другой порт хоста, свободный. Например, на 7041. В итоге будет -p 7041:9000

    Параметр --restart=always говорит о том, что контейнер будет восстанавливать своё рабочее состояние даже, если его остановить вручную. Иногда это неприемлемо, так как бывает необходимо остановить контейнер и не запускать его какое то время. Для этого значение always нужно поменять на unless-stopped. Контейнер по прежнему будет автоматически запускаться при перезагрузке системы или каком-то сбое, но вручную его остановить можно будет. Поэтому, пишем --restart=unless-stopped

    В итоге команда запуска Portainer может быть такой:

    sudo docker run -d -p 7041:9000 --name portainer --restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
    

    После этого интерфейс Portainer будет доступен по адресу http://<ip-сервера>:7041 (или http://localhost:7041)

    Первым делом при вызове Portainer в браузере, нужно задать логин и пароль. По умолчанию логин предлагается как admin, можно так оставить.

    portainer.jpg

    После задания пароля (он должен быть не меньше 12 символов), нажимаем кнопку Create User. И снимаем галочку внизу, чтобы не отправлять статистику.

    Если не сразу задать пароль, и оставить окно в таком состоянии на некоторое время, то после создания пользователя Portainer оповестит об истечении времени жизни экземпляра по соображениям безопасности, и попросит перезапустить Portainer.

    portainer2.jpg

    Перезапускаем командой

    sudo docker restart portainer
    

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

    portainer3.jpg

    Слева выбираем вкладку Home, появится такое окно:

    portainer4.jpg

    В правой части видим компьютер, на котором установлен Docker и Portainer. Компьютер называется Local, и ниже представлены краткие характеристики компьютера и сколько компонентов Докер там установлено - количество контейнеров, образов, томов и прочего.

    Жмём на область с информацией о компьютере Local. Окно станет таким:

    portainer5.jpg

    Жмём слева на вкладку Stacks. Стеки - это своеобразные проекты, отображающие многоконтейнерные приложения. Контейнер в таком приложении может быть и один, но если он создан с помощью Docker Compose, то Portainer будет считать его стеком. Например, на данном скрине отображён установленный Adminer в списке стеков.

    portainer6.jpg

    Удаление Portainer

    Чтобы полностью удалить все, что было установлено этими командами, вам нужно выполнить следующие шаги:

    Остановите и удалите контейнер Portainer:

    sudo docker stop portainer
    sudo docker rm portainer
    

    Удалите Docker volume, который был создан для хранения данных Portainer:

    sudo docker volume rm portainer_data
    

    Проверьте и удалите ненужные Docker образы (если они больше не нужны):

    sudo docker rmi portainer/portainer-ce
    

    1 ответ Последний ответ
    0
    • A Не в сети
      A Не в сети
      Admin
      написал отредактировано Admin
      #2

      Установка Portainer в Docker (Вариант 2)


      Portainer в Docker — самый правильный и современный вариант 2025 года

      (одним файлом docker-compose.yml + HTTPS + Nginx Proxy Manager / Caddy)

      «Золотой стандарт» 2025 года — именно так ставят 99 % людей:

      mkdir -p ~/portainer && cd ~/portainer
      
      # docker-compose.yml — вечная классика 2025
      cat > docker-compose.yml << 'EOF'
      version: "3.9"
      
      services:
        portainer:
          image: portainer/portainer-ce:latest
          container_name: portainer
          restart: unless-stopped
          security_opt:
            - no-new-privileges:true
          volumes:
            - /var/run/docker.sock:/var/run/docker.sock:ro
            - data:/data
          ports:
            - "9000:9000"          # веб-интерфейс
            - "9443:9443"          # HTTPS (встроенный в Portainer)
            - "8000:8000"          # для Edge Agent (если будешь подключать удалённые хосты)
          environment:
            - TZ=Europe/Moscow
      
        # (Опционально) Caddy — сразу HTTPS на 443 → Portainer
        caddy:
          image: caddy:2-alpine
          restart: unless-stopped
          ports:
            - "80:80"
            - "443:443"
            - "443:443/udp"
          volumes:
            - ./Caddyfile:/etc/caddy/Caddyfile
            - caddy_data:/data
            - caddy_config:/config
      
      volumes:
        data:
        caddy_data:
        caddy_config:
      EOF
      
      # Caddyfile — автоматический Let’s Encrypt
      cat > Caddyfile << 'EOF'
      portainer.твой-домен.рф {
          reverse_proxy localhost:9443
          tls admin@твой-домен.рф
      }
      EOF
      
      docker compose up -d
      

      Готово!
      Через 30–60 секунд будет доступно сразу два адреса:

      • https://portainer.твой-домен.рф — с нормальным сертификатом
      • https://IP-сервера:9443 — встроенный HTTPS Portainer
      • http://IP-сервера:9000 — старый порт (можно закрыть)

      Первый вход (2025)

      • Логин: admin
      • Пароль: минимум 12 символов
      • Сразу снимай галочку «Send anonymous usage statistics»

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

      # Обновить Portainer до последней версии
      docker compose pull && docker compose up -d
      
      # Полные логи
      docker compose logs -f portainer
      
      # Полный бэкап (одна команда)
      docker run --rm -v portainer_data:/data -v $(pwd):/backup alpine tar -czf /backup/portainer-backup-$(date +%F).tar.gz -C /data .
      
      # Восстановление
      docker compose down
      docker run --rm -v portainer_data:/data -v ./portainer-backup-2025-12-01.tar.gz:/backup.tar.gz alpine sh -c "tar -xzf /backup.tar.gz -C /data --strip-components=1"
      docker compose up -d
      

      Полное удаление (если вдруг надо)

      cd ~/portainer
      docker compose down -v --remove-orphans
      docker volume rm portainer_data portainer_caddy_data portainer_caddy_config
      docker rmi portainer/portainer-ce caddy:2-alpine
      
      1 ответ Последний ответ
      0
      Ответить
      • Ответить, создав новую тему
      Авторизуйтесь, чтобы ответить
      • Сначала старые
      • Сначала новые
      • По количеству голосов


      • Войти

      • Login or register to search.
      Powered by NodeBB Contributors
      • Первое сообщение
        Последнее сообщение
      0
      • Категории
      • Последние
      • Метки
      • Популярные
      • World
      • Пользователи
      • Группы