How-To: Update Portainer on a Raspberry Pi (Docker)

This procedure updates Portainer to the latest version. It pulls portainer/portainer-ce:latest, stops/removes the old container, and recreates it with the same /data volume—your settings are preserved.

First things first: make a backup of your Portainer data.

Back up Docker volume (“portainer_data”)

mkdir -p backups && docker run --rm -v portainer_data:/data:ro -v "$PWD/backups:/backup" alpine sh -c "tar -czf /backup/portainer-data-$(date +%F_%H-%M-%S).tgz -C / data"
Code-Sprache: PHP (php)

Back up a bind mount

mkdir -p backups && tar -czf "backups/portainer-data-$(date +%F_%H-%M-%S).tgz" -C /srv/portainer data
Code-Sprache: JavaScript (javascript)

Quick integrity check

tar -tzf backups/portainer-data-*.tgz | head

Now let’s start…

Check your Portainer container name.
By default it’s portainer; if yours is different, adjust the commands accordingly.

docker volume ls

Stop and remove the container:

docker stop portainer
docker rm portainer

Pull latest container:

docker pull portainer/portainer-ce

Run the latest container:

docker run -d -p 8000:8000 -p 9000:9000 -p 9443:9443 \
   --name=portainer \
   -v /var/run/docker.sock:/var/run/docker.sock \
   -v portainer_data:/data \
   --restart=always \
   portainer/portainer-ceCode-Sprache: JavaScript (javascript)

done