Leider habe ich bisher keinen Weg gefunden den Portainer-Container über die GUI zu aktualisieren, da Portainer sich dann selbst stoppt und anschließend stehen bleibt.
Wenn der ursprüngliche container mit dem folgenden Befehl installiert wurde
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 \
cr.portainer.io/portainer/portainer-ce:latest
muss man für die Aktualisierung den alten Container komplett löschen und anschließend neu anlegen. Da die Konfiguration in einem persistenten Volume liegt, startet der neue Container direkt mit der bisherigen Konfiguration, aber auf dem aktuellen Versionsstand.
docker stop portainer
docker rm portainer
docker image rm portainer/portainer-ce:latest
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 \
cr.portainer.io/portainer/portainer-ce:latest
Analog geht man bei der Aktualisierung der Portainer-Agents vor
docker stop portainer_agent
docker rm portainer_agent
docker pull cr.portainer.io/portainer/agent:latest
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 cr.portainer.io/portainer/agent:latest