1. Блог
  2. Мануали

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

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

Portainer CE не оновлює сам себе: нову версію потрібно встановити вручну, замінивши контейнер. Налаштування, користувачі та стеки зберігаються в окремому томі, тому за правильного оновлення нічого не втрачається.

Перед оновленням

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

Контейнер Portainer у списку docker ps

  1. Оберіть гілку. У 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.

Відеоінструкція

YouTube video
#portainer#docker#оновлення

Ця стаття іншими мовами:EnglishРусский