Docker : Mise à jour de Portainer sur Synology
En lignes de commandes:
On vérifie le status de Portainer, et récupère son ID.
sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c0c44926b37f 45be17a5903a "/portainer" 3 weeks ago Up 3 weeks 0.0.0.0:8000->8000/tcp, 0.0.0.0:9000->9000/tcp portainer
l'ID est c0c44926b37f
On va maintenant mettre à jour l'image
sudo docker pull portainer/portainer-ce
Using default tag: latest
latest: Pulling from portainer/portainer-ce
651a8e6e1630: Pull complete
56e38df73332: Pull complete
2670ec9a4247: Pull complete
Digest: sha256:79edf1302c9b4fdb06bc23321cc551e9118c29e6d668e12e23d4e58d993ab830
Status: Downloaded newer image for portainer/portainer-ce:latest
On arrête le conteuneur
sudo docker stop c0c44926b37f
On le supprime:
sudo docker rm c0c44926b37f
Et on le relance avec sa persistance de données et en mode host pour l'intégration Gitlab:
sudo docker run -d -p 8000:8000 -p 9000:9000 --restart=unless-stopped --name="portainer" --network host -v /var/run/docker.sock:/var/run/docker.sock -v /volume2/docker/portainer:/data portainer/portainer-ce
Bonus
Mise à jour de l'agent Portainer sur une autre machine.
On reproduit les mêmes étapes, pull, suppression et relance.
Pour la relance celui-ci possède le tag qui permet à watchtower de le prendre en charge.
docker run -d -p 9022:9001 --name=portainer_agent --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /volume2/docker/portainer-agent:/var/lib/docker/volumes --label=com.centurylinklabs.watchtower.enable=true portainer/agent