Як запустити Docker і Portainer на VPS (Посібник 2026)

Опубліковано: від Dallas Kashuba
Як запустити Docker і Portainer на VPS (Посібник 2026) thumbnail

Чи ти коли-небудь чув про Dockerception?

Ну що, тримайся міцніше. Ми йдемо в кролячу нору.

Portainer, веб-інтерфейс, який ти збираєшся встановити на Docker, сам є Docker контейнером.

Це інструмент, який працює на тому самому, що він керує. Ти запускаєш його однією командою docker run, і перше, що він робить — це повертається через маленький отвір у хості (файл сокета) і просить Docker демон показати йому всі інші контейнери, включаючи себе. З цієї вкладки браузера ти можеш оновити Portainer. Перезапустити Portainer. І керувати всіма іншими твоїми Docker контейнерами.

Інтерфейс, на який ти дивишся, знаходиться всього в одному кліці від видалення інтерфейсу, на який ти дивишся.

На VPS, де ти вже платиш за бокс і вже знайомий з SSH, Portainer чисто інтегрується з Docker без зміни того, як працює все під ним.

Ось цінність.

Комп’ютер з 4 ГБ пам’яті запускає Docker, Portainer та невелику групу самостійно розміщених додатків, не перегріваючись. І його вартість приблизно дорівнює вартості пари підписок на стрімінгові сервіси на місяць. Цього достатньо, щоб керувати домашньою автоматизацією, сімейним фотосховищем, штучним інтелектом-асистентом і розсилкою, яку ти планував розпочати — все на одному сервері, який належить тобі.

Ось як це запустити, захистити та почати отримувати вигоду.

Що Таке Portainer?

Архітектура Portainer, що показує з'єднання сокета Docker з portainer.io через VPN до браузера для віддаленого керування Docker.

Portainer — це веб-інтерфейс, який працює як контейнер Docker і керує іншими вашими контейнерами через сокет Docker.

Це по суті браузерний frontend для тих самих команд Docker, які ти б інакше вводив вручну, плюс управління стеком, рольовий доступ (якщо ти оновиш), і панель керування для перегляду CPU та пам’яті.

Сокет-з’єднання є тим, що змушує його працювати. Прив’язка виглядає як -v /var/run/docker.sock:/var/run/docker.sock у команді встановлення, і цей один рядок робить усю важку роботу. Без нього Portainer є інтерфейсом для порожнього Docker хоста. З ним Portainer є пультом дистанційного керування Docker хоста.

Одна річ, про яку треба пам’ятати: будь-який процес, який може досягти /var/run/docker.sock, може ефективно виконувати будь-що як root на хості. Це особливість, коли це Portainer, який запитує, і проблема, коли це якийсь контейнер, який ти створив минулого тижня і забув, що надав доступ до сокета.

Ставтеся до прив’язки сокета як до привілейованої можливості та проводьте аудит кожного іншого контейнера, який хоче її отримати.

Отримуйте вміст безпосередньо у свою скриньку

Підпишіться зараз, щоб отримувати всі останні оновлення безпосередньо у свою скриньку.

Чи Потрібен Вам Portainer, Якщо У Вас Вже Є Docker?

Ні. Docker чудово працює з терміналу, і багато людей керують кількома контейнерами роками, не встановлюючи жодного користувацького інтерфейсу поверх.

Тобі потрібен Portainer, якщо:

  • Ти жонглюватимеш більше ніж двома чи трьома контейнерами Docker у різних додатках.
  • Ти волієш натиснути “перезапустити”, аніж перенабирати команду Compose о 23:00. 
  • Ти ділиш доступ з кимось, хто не живе в терміналі. 
  • Ти хочеш розгортати оновлення стеку з Git репозиторію без написання скрипта розгортання. 

Пропустіть Portainer, якщо:

  • Ти використовуєш один або два контейнери, які рідко змінюються. 
  • Ти вже знаєшся на Docker Compose і тобі подобається з ним працювати.

Docker уже настільки поширений, що це не є вибором на маржі. Згідно з Опитуванням розробників на Stack Overflow 2025, Docker є найбільш широко використовуваною платформою контейнерів серед розробників з показником більше ніж 70% використання — найбільший однорічний стрибок будь-якої технології, яку відстежує опитування. Проєкт Portainer має приблизно 37,000 зірок на GitHub.

Існують інші варіанти. Coolify просувається далі в бік абстракцій стилю PaaS, а Dokploy займає схожу територію з меншими вимогами до ресурсів — але Portainer — це та опція, за яку інструкції з установки беруться першими.

Якщо ти живеш у tmux і запускаєш один додаток, закрий цю вкладку. Ти в порядку. Якщо ж ти запускаєш чотири самостійно розміщені додатки і двічі на місяць гуглиш: “Що таке Docker журнали знову?”, читай далі.

Який VPS Тобі Потрібен Для Роботи З Docker Та Portainer?

4 ГБ VPS зручно справляються з Portainer та невеликим стеком контейнерів для сторонніх проєктів.

Portainer рекомендує хост мінімум з 2 GB RAM та 1 CPU ядром, хоча процес сервера Portainer сам по собі використовує близько 100 MB у стані простою. Демон Docker додає кілька сотень MB навантаження до того, як почнуть працювати ваші додатки.

Ось як це відображається на реальні робочі навантаження:

Таблиця порівняння вимог до навантаження на VPS: один додаток потребує 4 ГБ, Nextcloud потребує 8 ГБ, GitLab з CI/CD потребує 16 ГБ RAM.

У DreamHost наш Self-Managed VPS пропонує чотири рівні Stack на базі RAM (Stack 4, 8, 16, та 32), причому початковий рівень Stack 4 розрахований саме на такі маленькі Docker хости. (І так, NVMe сховище та повний доступ до Root включені.)

Якщо ти сумніваєшся, чи варто витрачати час на самостійний хостинг, то Stack 4 — це розмір, за якого математика починає працювати на твою користь з першого дня.

Одна зауваження щодо зберігання: Площа для зберігання Portainer є мінімальною — він зберігає лише свою базу даних конфігурації. Власна документація Portainer рекомендує продуктивність на рівні SSD (≈3.5 MB/s стало, понад 30,000 IOPS, <10ms затримка запису), що будь-який сучасний диск NVMe спокійно витримує. Диск стає справжньою проблемою лише тоді, коли ви використовуєте контейнери, що інтенсивно працюють з базами даних, як-от Postgres або MySQL, поруч з ним. Якщо ваш VPS у 2026 році працює на диску з обертовими дисками, інтерфейс користувача Portainer почне відчуватися повільним задовго до того, як це станеться з RAM. Наша порада: оновіть диск до того, як план.

Як Встановити Docker і Portainer на VPS?

Форма первинного налаштування Portainer.io для створення адміністраторського облікового запису з іменем користувача, паролем, який вимагає мінімум 12 символів, і необов'язковим збором статистики.

Це займає шість кроків і приблизно 30 хвилин, більшість часу витрачається на очікування завантаження зображень.

1. Вибери Дистрибутив Linux

Ubuntu 22.04 або 24.04 LTS – це шлях найменшого спротиву. Ubuntu є тим, що використовується за замовчуванням у Self-Managed VPS DreamHost, і більшість фрагментів встановлення Docker та тем допомоги від спільноти припускають його використання. Debian та AlmaLinux також підходять.

Не впевнений, яку версію Ubuntu ти використовуєш? Дізнайся п’ять способів перевірки.

2. Встанови Docker з офіційного репозиторію

Не виконуй apt install docker.io. Це встановить старішу версію Docker з архіву Ubuntu.

Замість цього використовуй власний apt репозиторій Docker відповідно до офіційних документів інсталяції Docker, що додає GPG ключ Docker, репозиторій і docker-ce разом з плагіном Compose одним махом.

3. Перевірка роботи Docker

Запусти docker run hello-world.

Якщо ти не отримуєш повідомлення “Hello from Docker!”, виправ демона перед тим, як додавати Portainer зверху.

4. Створити постійний том для даних Portainer

Далі, запусти docker volume create portainer_data.

Зберігання бази даних Portainer на Docker-томі (не всередині контейнера) означає, що оновлення Portainer не видалить вашу конфігурацію.

5. Запустити Portainer Community Edition

Використовуй офіційну команду встановлення з документації з встановлення Portainer для Linux:

  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:lts

Давайте розберемо це по рядках:

  • -d запускає відокремлено.
  • -p 9443:9443 – це веб-інтерфейс Portainer на HTTPS.
  • -p 8000:8000 це тунель Edge Agent; тобі потрібен тільки, якщо ти плануєш підключати віддалені середовища (Docker, Swarm, або Kubernetes) через Edge Agents пізніше, тому не використовуй його при установці на одному хості.
  • --restart=always перезапускає Portainer після перезавантаження системи.
  • -v прапорці вказують на прив’язку сокета та постійний об’єм із кроку 4.
  • :lts тег є каналом підтримки Portainer на довгий термін — стабільна, рекомендована для виробництва збірка.

6. Відкрий інтерфейс та створи свій адміністративний акаунт

Направ свій браузер на https://YOUR_VPS_IP:9443.

Клікни, щоб пройти попередження про самопідписаний сертифікат. Ти потрапиш на екран “створення початкового адміністратора”. Обери ім’я користувача, яке не є admin, встанови надійний пароль і збережи його десь насправді. І… ти всередині!

Чому Portainer Просто Відключився Від Мене?

Тому що Portainer чекає рівно п’ять хвилин, щоб хтось його активував під час першої інсталяції. Якщо ніхто не зробить цього, він блокує доступ.

Дослівно з власних Частих запитань Portainer:

Як захід безпеки, коли Portainer вперше встановлюється, він чекатиме 5 хвилин, поки не буде створено адміністратора. Якщо користувач не буде створений протягом цих 5 хвилин, сервер Portainer припинить приймати запити.

Переклад: якщо ти провів Крок 5, роблячи бутерброд, твоя установка тепер відмовляється спілкуватися з тобою — і ти нічого не зробив неправильно.

Рішення просте. Виконай docker restart portainer.

Це запускає контейнер знову, дає тобі ще п’ятихвилинне вікно і переводить на екран створення адміністратора. Повторюй за потребою. Ласкаво просимо до самостійного хостингу.

Якщо ти скриптуєш встановлення для флоту (Ansible, Terraform, пайплайн розгортання), Portainer приймає прапорець --admin-password-file при запуску, який повністю обходить таймер, створюючи адміністратора з файлу при першому запуску. Документація з встановлення описує синтаксис. Для одноразової установки VPS, трюк з перезапуском підійде.

Як Зупинити Docker Від Оминання Твого Брандмауера?

Порівняння брандмауера Docker: без правила DOCKER-USER дозволяє необмежений доступ до контейнера, з правилом DOCKER-USER додає захист брандмауером.

Це здивує людей на виробництві, не тільки в розробці — так що слухай.

Коли ти docker run -p 80:80, опублікований порт доступний з публічного інтернету, навіть якщо ufw status показує порт 80 як заблокований. Docker направляє трафік контейнера в таблицю NAT, що означає, що пакети відхиляються до того, як вони досягають INPUT та OUTPUT ланцюгів, які використовує UFW.

UFW не зламано. Воно просто стоїть у неправильному коридорі.

Рекомендоване виправлення Docker – це ланцюжок DOCKER-USER iptables, зарезервований для правил адміністратора, тому Docker не перезаписуватиме їх під час перезапуску. (Правила самостійно не виживають повного перезавантаження хоста — збережіть їх за допомогою iptables-persistent або системного сервісу; ufw-docker обробляє це за вас.) Стандартний інструмент спільноти для інтеграції UFW у DOCKER-USERchaifeng/ufw-docker, який автоматизує генерацію правил.

Встанови його, а потім перевір за допомогою сканування портів ззовні твого VPS, чи порти, які ти вважаєш закритими, дійсно закриті.

Я бачив, як це піймало гострого інженера двічі за тиждень, спочатку на особистій машині, а потім у клієнта. UFW говорив одне, відкритий інтернет — інше, а правда була в iptables.

Для Portainer зокрема, порт 9443 опублікований, що означає, що адміністративний інтерфейс доступний з будь-якої точки публічного інтернету відразу ж після запуску контейнера. Два розумних шляхи: обмежити 9443 за допомогою правил DOCKER-USER (дозволити лише ваш домашній чи офісний IP), або використати VPN-тунель на кшталт WireGuard, так що інтерфейс ніколи не матиме публічної IP-адреси.

Що Треба Заблокувати Відразу Після Першого Входу?

Ти у грі. П’ять речей, які варто зробити перед тим, як закрити цю вкладку браузера, за посібником із безпеки від Portainer:

  • Використовуй лише HTTPS. Portainer за замовчуванням використовує HTTPS на порту 9443, але не накладає його обов’язковість. Перемкни тумблер в Налаштуваннях, щоб інтерфейс відмовлявся приймати HTTP повністю.
  • Заміни самопідписаний сертифікат. Завантаж сертифікат, який ти згенерував, або використовуй NGINX зворотній проксі з сертифікатом Let’s Encrypt для Portainer. Після першого дня постійне проходження через попередження браузера стане звичкою, про яку ти пошкодуєш.
  • Використовуй реальне ім’я адміністратора. “Admin” — перше припущення у будь-якій спробі вгадування паролів. Вибери щось, що специфічно для тебе.
  • Обмеж доступ до інтерфейсу через VPN. WireGuard — рекомендований Portainer спосіб. Публічний 9443 з міцними обліковими даними нормально. 9443, доступний лише в приватній мережі, краще.
  • Перевір прив’язку сокета Docker. Будь-що з доступом до читання /var/run/docker.sock може виконувати будь-що як root на хості. Не монтуєте цей сокет недбало в інші контейнери. Кожна додаткова прив’язка — новий шлях до хоста. Якщо контейнер стверджує, що йому потрібен сокет, запитай чому — і розглянь проксі сокета, якщо відповідь “для моніторингу”.

Як Ти Фактично Використовуєш Portainer Щодня?

Винагорода за встановлення Portainer — це той день, коли ти перестаєш використовувати SSH для перезапуску несправного контейнера, а починаєш натискати кнопку замість цього. Більша винагорода — управління стеком.

Стек Portainer — це багатоконтейнерний додаток, визначений файлом Docker Compose. Все, що ти можеш виразити як docker-compose.yml, можна розгорнути як стек, з трьома основними шляхами (не враховуючи власні шаблони) відповідно до офіційної документації стеків:

  • Вставити Compose у інтерфейс користувача
  • Завантажити файл Compose
  • Налаштувати Portainer на Git-репозиторій
Панель керування Portainer.io, що показує деталі стеку з таблицею контейнерів, журналами, статистикою та елементами керування контейнерами Docker.

Шлях Git є тим, що важливий. Ти налаштовуєш Portainer на публічний або автентифікований репозиторій та шлях до docker-compose.yml. Portainer або періодично перевіряє репозиторій за розкладом (за замовчуванням – кожні п’ять хвилин), або чекає на веб-хук від GitHub. Коли файл Compose змінюється у вихідному репозиторії, Portainer автоматично завантажує його та знову розгортає.

Це самостійно розміщена версія «розгортання під час натискання» без необхідності платити PaaS за привілей.

Маленькі щоденні перемоги також мають значення. Уяви журнали в панелі замість docker logs -f, перезапуски в один клік, перебудова стеку з кнопки, та графіки ресурсів, які ти можеш переглянути за три секунди замість виконання Docker stats.

Portainer також підтримує віддалені хости Docker за допомогою свого Edge Agent, який дозволяє розміщувати самостійно розміщеного помічника з ШІ або медіа-сервер на кількох пристроях.

Скільки коштує Portainer? (І коли безкоштовне перестає бути безкоштовним?)

Portainer Community Edition безкоштовний і не має обмежень, крапка. Встановлення, через яке ти щойно пройшов, повністю оснащене для одного хоста з необмеженою кількістю контейнерів, які може вмістити твій VPS. Без обмеження на вузли, без терміну дії, без нагадувальних екранів.

ВиданняВартістьВузлиКраще для
Community EditionБезкоштовно, відкритий кодНеобмеженоОсобисті проекти, домашні лабораторії, одно-ВПС самостійне розміщення
Business Edition (Take 3)Безкоштовно постійноДо 3Малі домашні лабораторії, що потребують RBAC та журнали аудиту
Business StarterВід $99/міс5, 10 або 15Малі команди, що управляють реальною інфраструктурою
Business ScaleВід $199/місДо 25Зростаючі команди, яким потрібна підтримка 9×5
EnterpriseЗа запитомНеобмеженоВимоги до дотримання норм і цілодобова підтримка

Вічна безкоштовна три-вузлова категорія (звана Take 3) варта уваги: ти оновлюєш ліцензію щорічно безкоштовно, доки залишаєшся на трьох вузлах чи менше.

Це правильний план для більшості домашніх лабораторій і малих команд, які хочуть контроль доступу на основі ролей (RBAC), журнали аудиту та реєстрацію активності без оплати. Понад це, Business Starter коштує $99/міс на сторінці ціноутворення бізнесу Portainer для 5/10/15 вузлів; Scale коштує $199/міс до 25 вузлів; а Enterprise визначається за запитом.

Для майже всіх, хто читає це, найкращий вибір — Community Edition. Це добре підійде для самостійного хостингу на одному VPS протягом усього часу існування сервера. Бізнес-версії починають виправдовувати своє існування лише тоді, коли ви управляєте реальними вузлами, потребуєте RBAC для команди або вам необхідна комерційна підтримка для дотримання нормативних вимог.

Чи Варто Додавати Portainer або Пропустити Його?

Ось чесна відповідь у двох реченнях:

✅ Якщо ти плануєш ділитися цим сервером, розгортати з Git або запускати більше трьох контейнерів на рік відтепер, встанови Portainer, поки хост свіжий і твої звички ще формуються навколо нього.

❌ Якщо ти запускаєш один тихий додаток і тобі комфортно в терміналі, ти не відчуєш нестачу інтерфейсу, який ти не встановив.

Справжнє питання не в Portainer проти відсутності Portainer. Це чи самостійний хостинг є правильним вибором для тебе взагалі — і ти відповів на це, коли відкрив цю вкладку.

4 GB VPS, Docker і Portainer CE дозволяють добитися більшого, ніж очікує більшість людей — стек автоматизації, сервер для фото, платформу для розсилки та місцевого помічника з ШІ — за суму, меншу, ніж ти ймовірно платиш за дві стрімінгові послуги, якими рідко користуєшся.

Це непогана угода за коробку, яка насправді належить тобі.

Часті Запитання Про Docker та Portainer

Для чого використовується Portainer?

Portainer використовується для управління контейнерами Docker, Docker Swarm та Kubernetes через веб-інтерфейс. Він працює як сам контейнер Docker, підключається до сокету Docker хоста та надає тобі перегляд у браузері та контрольну поверхню над кожним іншим контейнером на хості — запуск та зупинка контейнерів, розгортання стеків з кількох контейнерів, перегляд журналів та управління доступом користувачів без потреби у використанні SSH.

Чи потрібен мені Portainer, якщо у мене є Docker?

Ні, тобі не потрібен Portainer для використання Docker. Docker повністю працює з терміналу, і багато хто хто самостійно розміщує контент, ніколи не встановлює користувацький інтерфейс поверх нього.

Portainer виправдовує своє використання, коли ти жонглюєш більше ніж двома або трьома контейнерами, ділишся доступом з кимось, хто не працює у терміналі, або впроваджуєш оновлення стека з Git репозиторію. Пропусти це, якщо ти керуєш одним або двома стабільними контейнерами і тобі комфортно з Docker Compose.

На якому порту працює Portainer?

Portainer за замовчуванням працює на порті 9443 для доступу до веб-інтерфейсу через HTTPS, а також порт 8000 для тунелю Edge Agent, якщо ти підключаєш віддалені хости Docker пізніше. Порт 8000 є необов’язковим при інсталяції на одному хості; ти можеш виключити прапорець -p 8000:8000 з команди інсталяції, і це не вплине на локальний інтерфейс. Значення за замовчуванням беруться прямо з офіційної документації з інсталяції Portainer для Linux.

Скільки RAM потрібно Portainer?

Portainer сам по собі використовує близько 100 МБ, перш ніж ви завантажите щось інше. Додайте кілька сотень МБ для Docker daemon, а потім розраховуйте залежно від того, що ви фактично запускаєте.

У DreamHost ми встановлюємо наш базовий Self-Managed VPS на 4 ГБ RAM саме для такого типу навантаження — достатньо ресурсів для Portainer та невеликого стеку контейнерів для сторонніх проектів, як Ghost, n8n, база даних Postgres та зворотний проксі.

Чи є Portainer безкоштовним?

Так. Portainer Community Edition є повністю безкоштовним, а Business Edition також має безкоштовний багаторівневий тариф на 3 вузли під назвою Take 3, який щорічно оновлюється безкоштовно, якщо ти зберігаєш три вузли чи менше. Понад три вузли ціни на Business починаються від $99/міс. за план Starter на сторінці бізнес-ціноутворення Portainer.

Яка різниця між Portainer CE та Business Edition?

Portainer Community Edition безкоштовна, відкритого коду, і повністю оснащена для особистого використання.

Бізнес-Едиція додає контроль доступу на основі ролей, аудиторські журнали, журналювання активності та комерційну підтримку, і починається від $99/міс для 5 вузлів після безстрокового безкоштовного 3-вузлового рівня Take 3.

Чи може Portainer керувати кількома хостами Docker?

Так, Portainer може керувати кількома Docker-хостами за допомогою Edge Agents, які працюють на кожному віддаленому хості та опитують центральний сервер Portainer на порту інтерфейсу користувача, використовуючи порт 8000 для відкриття безпечного тунелю для керуючих команд. Для одного VPS-хостера це зайве. Для когось, хто керує трьома або більше машинами, що ділять панель управління, саме тому 8000 знаходиться у рядку установки.

Чи Docker обходить UFW на VPS?

Так, Docker за замовчуванням обходить UFW, оскільки Docker керує трафіком контейнерів на рівні iptables NAT, який розташований перед ланцюгами INPUT і OUTPUT UFW.

Згідно з документацією Docker про фільтрацію пакетів, “Пакети перехоплюються до того, як вони досягають ланцюгів INPUT та OUTPUT, які використовує UFW.” Виправленням є ланцюг iptables DOCKER-USER, а стандартний інструмент спільноти для інтеграції UFW з ним є chaifeng/ufw-docker.

VPS

Володійте всім своїм стеком. Застосунки, ШІ, бази даних і не тільки.

Зберігайте всі облікові дані та листування на сервері, який контролюєте ви, — зі швидкістю NVMe та безлімітним трафіком із коробки.

Переглянути плани VPS-хостингу