Aller au contenu

[TUTO] Mise à jour automatique des images et conteneurs Docker


.Shad.

Messages recommandés

Non, ça n'a pas d'incidence.
Avec ma nouvelle syntaxe, tout c'est parfaitement passé, tous les containers ont été mis à jour :

sudo docker run -d --rm --name=Watchtower -e WATCHTOWER_CLEANUP=true -e WATCHTOWER_DEBUG=true -e WATCHTOWER_TIMEOUT=30s -e WATCHTOWER_SCHEDULE="0 0 5 * * 6" -e TZ=Europe/Paris -v /var/run/docker.sock:/var/run/docker.sock:ro containrrr/watchtower

Lien vers le commentaire
Partager sur d’autres sites

Coucou par ici 👋

Je pense que je vais me lancer dans l'utilisation de ce tuto 🙂

J'ai parcouru rapidement (pendant une insomnie) la doc officielle dont tu as mis les liens dans ton tuto.
Pour avoir des notifications autres qu'en emails, vous préconisez quoi comme solution ?
Car je ne suis pas sur que les mails me conviennent... faudra que je vois dans le temps 🙂

Sinon, y a pas d'interface graphique pour maintenir les conteneurs à jours ?

Petite dernière question avant que je m'attèle au tuto 😛  
Si j'utilise Portainer pour créer mes conteneur, lorsque j'utilise "Update Stack", ça fait pas une mise à jour de l'image ?
image.png.ad6e9b9592508db278c4d6ebb0b94c90.png


Ha si une dernière, promis, la vraie dernière 😁
Est-ce qu'il faut que les conteneurs créés aient tous un fichier docker-compose.yml dans le dossier du conteneur ??

Modifié par MilesTEG1
Lien vers le commentaire
Partager sur d’autres sites

@.Shad.

J'ai un petit soucis : je ne peux pas créer le conteneur avec Portainer, j'ai cette erreur : 

image.png.2139f838d0a68a19dbe78ee5da3b6762.png

J'ai bien vérifier le chemin d'accès, il est OK. 
Les permissions dossier watchtower : j'ai mis l'utilisateur Docker-Portainer comme propriétaire.

Je ne vois pas ce que je peux faire pour que ça fonctionne avec portainer.
Je précise qu'un docker-compose up -d en ligne de commande fonctionne bien.
Le logs que je récupère contient ça :

Citation

time="2020-11-28T20:21:21+01:00" level=debug
time="2020-11-28T20:21:21+01:00" level=debug msg="Sleeping for a second to ensure the docker api client has been properly initialized."
time="2020-11-28T20:21:22+01:00" level=debug msg="Retrieving running containers"
time="2020-11-28T20:21:22+01:00" level=debug msg="There are no additional watchtower containers"
time="2020-11-28T20:21:22+01:00" level=error msg="End of range (7) above maximum (6): 7"
time="2020-11-28T20:22:24+01:00" level=debug
time="2020-11-28T20:22:24+01:00" level=debug msg="Sleeping for a second to ensure the docker api client has been properly initialized."
time="2020-11-28T20:22:25+01:00" level=debug msg="Retrieving running containers"
time="2020-11-28T20:22:25+01:00" level=debug msg="There are no additional watchtower containers"
time="2020-11-28T20:22:25+01:00" level=error msg="End of range (7) above maximum (6): 7"

Je ne sais pas si c'est normal...
Je n'ai pas encore spécifié un label dans les autres conteneurs.

      labels:
         - "com.centurylinklabs.watchtower.enable=true"


Des idées sur pourquoi !a ne veut pas se créer avec Portainer ?
Et le log récupéré, c'est normal pour le moment ?

Lien vers le commentaire
Partager sur d’autres sites

à l’instant, EVOTk a dit :

Salut,

watchtower.env existe bien ? Car l'erreur dit que le fichier de variable n'existe pas.

Quel compose utilise tu ?

Oui oui le fichier existe bien.
image.png.d5eb0342a308bf6180eaa0267644c13d.png

Pour la version de compose, j'ai la version installée avec le NAS...
image.png.a3017c2c95aa2b844e0dd66239f9a462.png

 

Sinon j'ai ajouté le labels dans la stack de Adguard qui n'est pas à jour (j'ai vérifié ma version v0.103.3)
Version dispo image.png.e41851f7ccf92b72f4d114ee998b211b.png

J'ai toujours le même log.
Du coup ça ne fonctionne pas... 😕 je ne sais pas pourquoi.

Lien vers le commentaire
Partager sur d’autres sites

Il y a 4 heures, MilesTEG1 a dit :

Pour avoir des notifications autres qu'en emails, vous préconisez quoi comme solution ?

J'utilise Gotify pour ma part : https://www.forum-nas.fr/viewtopic.php?f=56&t=14489$

Il y a 4 heures, MilesTEG1 a dit :

Si j'utilise Portainer pour créer mes conteneur, lorsque j'utilise "Update Stack", ça fait pas une mise à jour de l'image ?

Update stack sert a re-créer l'imlage avec les changement que tu as apporté au compose. Par contre cela ne re-télécharge pas l'image meme si une nouvelle est dispo.

Pour cela, il faut utiliser Recreate, et cocher 'Pull new image", et là il va supprimer ton conteneur, télécharger le nouvelle image si une est dispo, et re-créer le conteneur

1dhR3iI.png

oG3h22c.png

 

Il y a 4 heures, MilesTEG1 a dit :

Est-ce qu'il faut que les conteneurs créés aient tous un fichier docker-compose.yml dans le dossier du conteneur ??

 

Tu peu aussi procéder de cette manière :

docker-compose up -f mon_compose_plex.yaml -p plex -d
  • -f me permet de choisir le fichier compose à utiliser. On peut enlever cette partie si le fichier s'appelle docker-compose.yaml
  • -p me permet de définir le nom de la stack / du projet que je lance. Si cette partie n'est pas ajouté, le nom du dossier contenant le yaml sera utilisé
  • -d permet de le lancer en daemon / tâche de fond pour pouvoir fermer ma console ensuite
Lien vers le commentaire
Partager sur d’autres sites

il y a 4 minutes, EVOTk a dit :

J'utilise Gotify pour ma part : https://www.forum-nas.fr/viewtopic.php?f=56&t=14489$-

Ok, j'irais voir quand watchtower fonctionnera correctement ^^

il y a 4 minutes, EVOTk a dit :

Update stack sert a re-créer l'imlage avec les changement que tu as apporté au compose. Par contre cela ne re-télécharge pas l'image meme si une nouvelle est dispo.

Pour cela, il faut utiliser Recreate, et cocher 'Pull new image", et là il va supprimer ton conteneur, télécharger le nouvelle image si une est dispo, et re-créer le conteneur

1dhR3iI.png

oG3h22c.png

Heuu, tu as ces boutons où ? Dans mon Portainer je n'ai pas ça...

il y a 6 minutes, EVOTk a dit :

Tu peu aussi procéder de cette manière :


docker-compose up -f mon_compose_plex.yaml -p plex -d
  • -f me permet de choisir le fichier compose à utiliser. On peut enlever cette partie si le fichier s'appelle docker-compose.yaml
  • -p me permet de définir le nom de la stack / du projet que je lance. Si cette partie n'est pas ajouté, le nom du dossier contenant le yaml sera utilisé
  • -d permet de le lancer en daemon / tâche de fond pour pouvoir fermer ma console ensuite

En fait mon idée quand j'ai installé/configuré Portainer, c'était de ne passer plus que par lui et plus par la ligne de commande en SSH pour faire les docker-compose up -d.
Je laisse quand même un fichier docker-compose.yml dans chaque dossier car je préparer ce fichier en premier puis je copie/colle dans une stack de Portainer.

Lien vers le commentaire
Partager sur d’autres sites

il y a 21 minutes, MilesTEG1 a dit :

Heuu, tu as ces boutons où ? Dans mon Portainer je n'ai pas ça...

Je clique sur le nom d'un conteneur, et cela ce trouve en haut de page

IChKO4t.png

jjvHRnh.png

Il y a 5 heures, MilesTEG1 a dit :

Est-ce qu'il faut que les conteneurs créés aient tous un fichier docker-compose.yml dans le dossier du conteneur ??

 

il y a 25 minutes, MilesTEG1 a dit :

En fait mon idée quand j'ai installé/configuré Portainer, c'était de ne passer plus que par lui et plus par la ligne de commande en SSH pour faire les docker-compose up -d.
Je laisse quand même un fichier docker-compose.yml dans chaque dossier car je préparer ce fichier en premier puis je copie/colle dans une stack de Portainer.

D'accord alors je n'est pas vraiment compris la question, si tu utilise la fonction compose de portainer, tu n'a plus besoin du fichier compose du tout, malgrès tout moi, je les garde, car cela me permet d'avoir une trace des mes compose ailleurs que dans Portainer ( on sait jamais ^^ )

Lien vers le commentaire
Partager sur d’autres sites

il y a 3 minutes, EVOTk a dit :

Je clique sur le nom d'un conteneur, et cela ce trouve en haut de page

IChKO4t.png

jjvHRnh.png

Oh !!! Je n'avais pas vu qu'on pouvait faire ça !!!

Purée, mais c'est trop bien 😉

il y a 4 minutes, EVOTk a dit :

D'accord alors je n'est pas vraiment compris la question, si tu utilise la fonction compose de portainer, tu n'a plus besoin du fichier compose du tout, malgrès tout moi, je les garde, car cela me permet d'avoir une trace des mes compose ailleurs que dans Portainer ( on sait jamais ^^ )

Je fais exactement ça moi aussi ^^ Je laisse les fichier compose dans le dossier du conteneur ^^

Lien vers le commentaire
Partager sur d’autres sites

Le chargement de fichier .env est une fonctionnalité de docker-compose, pas de Docker.
Or Portainer n'utilise pas docker-compose mais la commande docker stack, qui est une fonctionnalité de Docker.
Donc pour moi c'est logique.

Si tu veux déployer watchtower avec Portainer, il faut soit supprimer le fichier env et intégrer les variables dans le fichier compose, ou mieux, utiliser la fonctionnalité docker secret.

Exemple de comment se servir de docker secret : https://www.authelia.com/docs/configuration/secrets.html

J'ai déjà essayé d'utiliser Portainer pour créer les conteneurs, j'avais même essayé d'y définir des variables d'environnement, problème : elles ne s'enregistraient pas.

Du coup je reste avec docker-compose, qui me convient très bien.

Modifié par .Shad.
Lien vers le commentaire
Partager sur d’autres sites

il y a 8 minutes, .Shad. a dit :

Le chargement de fichier .env est une fonctionnalité de docker-compose, pas de Docker.
Or Portainer n'utilise pas docker-compose mais la commande docker stack, qui est une fonctionnalité de Docker.
Donc pour moi c'est logique.

Si tu veux déployer watchtower avec Portainer, il faut soit supprimer le fichier env et intégrer les variables dans le fichier compose, ou mieux, utiliser la fonctionnalité docker secret.

Exemple de comment se servir de docker secret : https://www.authelia.com/docs/configuration/secrets.html

J'ai déjà essayé d'utiliser Portainer pour créer les conteneurs, j'avais même essayé d'y définir des variables d'environnement, problème : elles ne s'enregistraient pas.

Du coup je reste avec docker-compose, qui me convient très bien.

Ok je comprends mieux 😊

je vais voir demain cette histoire de docker secret😊

sinon j’ai quand même créé le conteneur avec la ligne de commande docker-compose et le fichier du même nom.

mais je n’ai pas l’impression que ça fonctionne...

je regarderais demain.

sinon je configure le watchtower juste pour vérifier la présence de mises à jour sans les installer car avec portaient maintenant que je connais le truc je peux mettre a jour rapidement et facilement les conteneurs 😊

Lien vers le commentaire
Partager sur d’autres sites

Si tu as réglé sur une mise à jour par scheduling, la tentative de mise à jour ne se produira qu'à la date réglée.
Si tu veux tester que ça marche tu peux utiliser interval à la place de scheduling.

Modifié par .Shad.
Lien vers le commentaire
Partager sur d’autres sites

Il y a 5 heures, .Shad. a dit :

Si tu as réglé sur une mise à jour par scheduling, la tentative de mise à jour ne se produira qu'à la date réglée.
Si tu veux tester que ça marche tu peux utiliser interval à la place de scheduling.

J’essaierai ça tout à l’heure.

me faudrait installer un conteneur dans une vielle version pour voir si une maj est trouvée...

Lien vers le commentaire
Partager sur d’autres sites

Bon voilà, j'ai mis les labels sur tout les conteneurs, et watchtower semble bien fonctionner :

image.png.c36f809c7d0901abb670e54d7dcd28d7.png

J'ai pour le moment mis WATCHTOWER_POLL_INTERVAL=300 pour voir comment se comporte le bazar quand il refait un passage.

Après je pense que je remettrais la tâche cron 🙂


edit : bon je pense qu'il y a un soucis quelque part :

image.png.b982d301e37296d3f8e722a75e7d8ab0.png

Tous les conteneurs sont normalement à jour...

5 min plus tard :

image.png.b345624f703c43b7845f22a735c11e41.png

 

Je viens de réactiver la tâches CRON pour tous les jour à 9h. Je verrais demain le message que je vais avoir... si c'est le même ou pas.
En attendant, vous avez des idées sur ce qui cause ces erreurs ?

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.