<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Watch on slash-root.fr</title><link>https://beta.slash-root.fr/tags/watch/</link><description>Recent content in Watch on slash-root.fr</description><generator>Hugo -- gohugo.io</generator><language>fr-fr</language><lastBuildDate>Sat, 22 Apr 2023 12:38:54 +0200</lastBuildDate><atom:link href="https://beta.slash-root.fr/tags/watch/index.xml" rel="self" type="application/rss+xml"/><item><title>Watch Tower : Auto update docker images</title><link>https://beta.slash-root.fr/docker-update-auto-images/</link><pubDate>Tue, 11 Apr 2023 08:04:46 +0200</pubDate><guid>https://beta.slash-root.fr/docker-update-auto-images/</guid><description>&lt;img src="https://beta.slash-root.fr/docker-update-auto-images/cover.png" alt="Featured image of post Watch Tower : Auto update docker images" /&gt;&lt;h2 id="présentation"&gt;&lt;a href="#pr%c3%a9sentation" class="header-anchor"&gt;&lt;/a&gt;Présentation
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Watch Tower&lt;/strong&gt; permet de mettre à jour les images docker utilisées de façon automatique. Il va permettre de télécharger la nouvelle image, supprimer proprement le conteneur l'utilisant et le relancer avec les mêmes options. Par défaut, cela utilise le Docker Hub, mais il est possible de paramétrer un registry privé en spécifiant des credentials.&lt;/p&gt;
&lt;p&gt;La documentation complète peut être accessible ici : &lt;a href="https://containrrr.dev/watchtower/"&gt;https://containrrr.dev/watchtower/&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="installation"&gt;&lt;a href="#installation" class="header-anchor"&gt;&lt;/a&gt;Installation
&lt;/h2&gt;&lt;p&gt;L'installation est très simple car &lt;strong&gt;Watch Tower&lt;/strong&gt; va tourner lui-même en conteneur.&lt;/p&gt;
&lt;p&gt;Je vais utiliser un fichier &lt;code&gt;docker-compose.yml&lt;/code&gt; pour exécuter l'application :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;version&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;3.8&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;services&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;watchtower&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;image&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;containrrr/watchtower:latest&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;container_name&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;watchtower&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;restart&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;unless-stopped&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;volumes&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#ae81ff"&gt;/var/run/docker.sock:/var/run/docker.sock&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;command&lt;/span&gt;: --&lt;span style="color:#ae81ff"&gt;schedule &amp;#34;0 0 4 * * *&amp;#34; --cleanup&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;docker.sock&lt;/strong&gt; : Indispensable pour avoir accès au socket docker de l'hôte dans le conteneur afin de surveiller tous les autres conteneurs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;schedule&lt;/strong&gt; : Permet de préciser quand vérifier les mises à jour sous un format à 6 colonnes (contrairement à crontab). La 1ère colonne correspond aux secondes. Ici, 4h tous les jours.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cleanup&lt;/strong&gt; : Permet de supprimer les anciennes images docker.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Par défaut toutes les images de tous les conteneurs sont surveillées. Il est possible d'affiner ce comportement.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;D'autres options sont disponibles (Se référer à la documentation précisée en introduction).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="exécution"&gt;&lt;a href="#ex%c3%a9cution" class="header-anchor"&gt;&lt;/a&gt;Exécution
&lt;/h2&gt;&lt;p&gt;Lancer simplement le &lt;code&gt;docker-compose.yml&lt;/code&gt; :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose up -d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item></channel></rss>