Maison  >  Article  >  Opération et maintenance  >  L'image dans le Docker sera-t-elle mise à jour automatiquement ?

L'image dans le Docker sera-t-elle mise à jour automatiquement ?

WBOY
WBOYoriginal
2022-06-22 16:23:495926parcourir

L'image dans le Docker sera automatiquement mise à jour ; vous pouvez utiliser l'outil Watchtower pour mettre à jour automatiquement l'image. Watchtower est un outil qui peut surveiller si l'image du conteneur en cours d'exécution est mise à jour lorsqu'il y a une différence entre l'image locale et l'image distante. image, le conteneur actuel peut être utilisé automatiquement. Recréez un nouveau conteneur avec la nouvelle image et supprimez l'ancien conteneur.

L'image dans le Docker sera-t-elle mise à jour automatiquement ?

L'environnement d'exploitation de ce tutoriel : système linux7.3, docker version 19.03, ordinateur Dell G3.

Mise à jour automatique de l'image Docker

watchtower est un outil qui peut surveiller si l'image du conteneur en cours d'exécution a été mise à jour. Lorsqu'il y a une différence entre l'image locale et l'image distante, elle peut automatiquement utiliser les paramètres d'exécution du conteneur actuel pour. créez une nouvelle image avec une nouvelle image et supprimez l'ancien conteneur.

Certaines images peuvent devoir être mises à jour fréquemment lors de l'utilisation de Docker. Habituellement, la mise à jour manuelle du conteneur est fastidieuse et nécessite quatre étapes :

1. Arrêtez le docker du conteneur stop

2. Supprimez le docker du conteneur rm <. ; CONTAINER>

3. Vérifiez l'état de la mise à jour de l'image et mettez à jour l'image docker pull

4. Redémarrez l'exécution du docker du conteneur s'il y a un grand nombre de conteneurs, il doit être mis à jour, ce qui créera une énorme charge de travail. Je vais maintenant vous présenter un moyen de mettre à jour automatiquement les conteneurs. Cette méthode est également applicable à Docker sous Synology.

Watchtower surveille les conteneurs en cours d'exécution et vérifie si les images lors du démarrage initial de ces conteneurs doivent être mises à jour. Lorsque Watchtower détecte qu'une image a changé, elle utilisera la nouvelle image et redémarrera automatiquement le conteneur correspondant en utilisant les mêmes paramètres. Dans le même temps, Watchtower elle-même est également présentée sous forme d'image Docker. Vous pouvez utiliser Watchtower pour surveiller tous les conteneurs avec une seule ligne de commandes, puis tous les conteneurs seront automatiquement mis à jour, y compris Watchtower elle-même.

Démarrage rapide

Watchtower elle-même est emballée sous forme d'image Docker, vous pouvez donc l'exécuter comme n'importe quel autre conteneur. Dans d'autres environnements Docker, utilisez la commande Docker pour télécharger l'image directement :

docker pull containrrr/watchtower

Docker dans le groupe Hui peut. soyez directement recherché et téléchargé dans le registre :

Limage dans le Docker sera-t-elle mise à jour automatiquement ?Autres commandes d'exécution Docker

docker run -d \    --name watchtower \    -v /var/run/docker.sock:/var/run/docker.sock \

Utilisez le code ci-dessus pour démarrer le conteneur Watchtower en arrière-plan et surveiller les mises à jour de toutes les images actuelles. Étant donné que Watchtower doit interagir avec l'API Docker pour surveiller les conteneurs en cours d'exécution, vous devez ajouter le paramètre -v lorsque vous l'utilisez pour mapper /var/run/docker.sock dans le conteneur.

Utilisez la tâche planifiée de Synology pour exécuter Watchtower dans Synology

Limage dans le Docker sera-t-elle mise à jour automatiquement ?Ouvrez le plan de tâches de Synology, créez une nouvelle tâche planifiée - script défini par l'utilisateur, remplissez le script suivant, exécutez-le une fois, mettez à jour tous les conteneurs et effacez les anciens conteneurs

docker run -d --name watchtower -v  /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --cleanup --run-once

peut être configuré pour s'exécuter automatiquement dans les tâches planifiées ou s'exécuter manuellement en cas de besoin. Tous les conteneurs sont ensuite automatiquement mis à jour, y compris la Watchtower elle-même.

Paramètres d'options

Par défaut, Watchtower surveillera tous les conteneurs exécutés dans le démon Docker vers lequel elle pointe. Mais vous pouvez également spécifier le nom d'un conteneur spécifique lors du démarrage de Watchtower pour surveiller uniquement ces conteneurs spécifiques. Par exemple :

docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --cleanup --run-once nginx redis

À ce stade, la tour de guet ne surveillera que les conteneurs nommés "nginx" et "redis", tous les autres conteneurs en cours d'exécution seront ignorés. Si vous ne souhaitez pas exécuter la tour de guet en arrière-plan, vous pouvez ajouter le paramètre --run-once et le conteneur de la tour de guet s'exécutera au premier plan.

Utilisez le paramètre --cleanup pour supprimer automatiquement l'ancienne image après la mise à jour

Utilisez --monitor-only pour surveiller uniquement la nouvelle image et envoyer des notifications, et ne mettra pas à jour le conteneur

Utilisez --interval pour définir la mise à jour Intervalle de détection, l'unité est la seconde. Par exemple, pour vérifier les mises à jour toutes les heures, il s'agit de --interval 3600

Pour des méthodes d'utilisation plus spécifiques, vous pouvez consulter la documentation officielle de watchtower. Seules deux méthodes couramment utilisées sont répertoriées ici. Étant donné que Synology peut utiliser des tâches planifiées automatiquement, vous n'avez pas besoin d'utiliser le paramètre --interval.

Apprentissage recommandé : "

Tutoriel vidéo Docker

"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn