Docker

Ubuntu 16.04 LTS – Mise à jour des images Docker avec Docker-Compose

Les images Docker que vous rapatriez sur votre serveur sont régulièrement mises à jour par les développeurs. Si vous avez une dizaine de containers avec des fichiers docker-compose.yml éparpillés sur votre filesystem, la mise à jour des images et le redémarrage des containers associés peuvent s’avérer vite fastidieux…

Mettre à jour manuellement les images de votre docker-compose.yml

  • Placez-vous tout d’abord dans le répertoire contenant votre fichier docker-compose.yml et mettez à jour l’image associée en exécutant la commande suivante :
  • Relancez les containers :

Mettre à jour automatiquement les images de votre docker-compose.yml avec une tâche planifiée

Nous allons automatiser les deux commandes précédentes en les exécutant via une règle crontab. Celle-ci sera planifiée pour exécution tous les jours à 23h42. Les traces liées à l’exécution de ces commandes seront enregistrées dans un fichier /var/log/docker-updater.log.

  • Éditez la crontab :
  • Ajoutez la ligne suivante en remplaçant /path/absolu (sans docker-compose.yml) par le répertoire de votre fichier docker-compose.yml :
  • Sauvegardez et quittez.

Mettre à jour automatiquement les images de tous les fichiers docker-compose.yml de votre système avec une tâche planifiée

Comme vous pouvez le constater, mettre à jour une image nécessite de se rendre dans le répertoire de chaque docker-compose.yml et d’exécuter la commande de mise à jour et d’exécution de docker-compose. Nous allons automatiser cette tâche grâce à un script bash avec son fichier de configuration associé contenant l’ensemble des emplacements de vos fichiers docker-compose.yml. Nous allons créer une règle crontab où le script de mise à jour sera planifié pour exécution tous les jours à 23h42. Les traces liées à l’exécution du script seront enregistrées dans un fichier /var/log/docker-updater.log

  • Créez le fichier /opt/docker-updater/docker-updater contenant les lignes suivantes :
  • Ajoutez les droits d’exécution sur le script /opt/docker-updater/docker-updater :
  • Créez le fichier de configuration containers-to-update.conf et ajoutez le path absolu de chaque fichier docker-compose.yml :
  • Éditez la crontab :
  • Ajoutez la ligne suivante :
  • Sauvegardez et quittez.


Ubuntu 16.04.3 Server LTS (64bits)Docker 17.06.2-ce
Docker Compose 1.16.1

Auteur
AuteurEdouard WATTECAMPS

0 réponses

Répondre

Se joindre à la discussion ?
Vous êtes libre de contribuer !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *