Як оновити Portainer до останньої версії

Portainer CE не оновлює сам себе: нову версію потрібно встановити вручну, замінивши контейнер. Налаштування, користувачі та стеки зберігаються в окремому томі, тому за правильного оновлення нічого не втрачається.
Перед оновленням
- Зробіть резервну копію. В інтерфейсі Portainer відкрийте Settings → Back up Portainer і завантажте архів. Оновлення змінює формат бази даних, і відкотитися на стару версію без копії не вдасться.
- Дізнайтеся, як запущено Portainer. Ім’я тому та точки монтування покаже команда:
docker inspect portainer --format '{{range .Mounts}}{{.Source}} -> {{.Destination}}{{"\n"}}{{end}}'

- Оберіть гілку. У Portainer два теги:
lts— версія з довгостроковою підтримкою, рекомендована для робочих серверів;sts— свіжі функції з коротким терміном підтримки. Тегlatestвказує на LTS.
Оновлення через docker run
Зупиніть і видаліть старий контейнер. Том із даними при цьому залишається:
docker stop portainer
docker rm portainer
Завантажте новий образ:
docker pull portainer/portainer-ce:lts
Запустіть контейнер із тим самим томом:
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
Якщо раніше ви використовували порт 9000 (HTTP) або іншу назву тому, вкажіть у команді свої значення. Головне — параметр -v ...:/data має посилатися на попередній том.
Оновлення через Docker Compose
Якщо Portainer описано в docker-compose.yml, достатньо двох команд у каталозі з файлом:
docker compose pull
docker compose up -d
Compose сам перестворить контейнер із новим образом.
Перевірка
Відкрийте https://IP-сервера:9443 і увійдіть із попередніми обліковими даними. Номер версії вказано в лівому нижньому куті інтерфейсу. Під час першого запуску після оновлення Portainer може кілька секунд мігрувати базу даних.
Якщо щось пішло не так, перегляньте журнал контейнера:
docker logs portainer
Оновлення Portainer Agent
Якщо до Portainer підключено інші сервери через агент, оновіть його на кожному з них до тієї самої версії:
docker stop portainer_agent
docker rm portainer_agent
docker pull portainer/agent:lts
docker run -d \
-p 9001:9001 \
--name portainer_agent \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/docker/volumes:/var/lib/docker/volumes \
portainer/agent:lts
Очищення старих образів
Після оновлення попередній образ залишається на диску. Видаліть невикористовувані образи:
docker image prune
Чи можна оновлювати автоматично
Решту контейнерів зручно оновлювати за допомогою Watchtower, але сам Portainer краще оновлювати вручну: зі зміною версії змінюється формат бази даних, і резервну копію варто робити свідомо.
Якщо Portainer ще не встановлено, почніть зі статті про встановлення Docker і Portainer.
Відеоінструкція



