« Docker Images » : différence entre les versions

Aucun résumé des modifications
 
Ligne 99 : Ligne 99 :
docker compose build --no-cache</syntaxhighlight>
docker compose build --no-cache</syntaxhighlight>


== <none>:<none> ==
Lorsque vous voyez une image <code>&lt;none&gt;:&lt;none&gt;</code> dans la liste de <code>docker images</code>, cela signifie qu’il s’agit d’une '''image intermédiaire''' ou d’une '''ancienne version sans tag''', souvent créée dans l’un des cas suivants :
-----
<span id="rebuild-dune-image-avec-le-même-tag"></span>
=== '''1. Rebuild d’une image avec le même tag''' ===
Si vous avez reconstruit une image (par exemple <code>debian12:latest</code>) '''sans supprimer l’ancienne version''', Docker conserve l’ancienne image mais lui retire son tag (elle devient <code>&lt;none&gt;</code>).<br />
- '''Exemple''' :<br />
- Vous aviez <code>debian12:latest</code> (ID: <code>abc123</code>).<br />
- Vous la reconstruisez (nouvel ID: <code>d9997b66177d</code>).<br />
- L’ancienne (<code>abc123</code>) devient <code>&lt;none&gt;</code> car le tag <code>latest</code> a été transféré à la nouvelle version.
-----
<span id="image-intermédiaire-couches-docker-non-nettoyées"></span>
=== '''2. Image intermédiaire (couches Docker non nettoyées)''' ===
Ces images peuvent aussi être des '''couches temporaires''' générées pendant un <code>docker build</code> (surtout si le build a échoué ou n’a pas été nettoyé).
-----
<span id="image-orpheline-plus-référencée-par-aucun-conteneur"></span>
=== '''3. Image orpheline (plus référencée par aucun conteneur)''' ===
Si une image n’est plus utilisée par aucun conteneur et n’a pas de tag, elle apparaît comme <code>&lt;none&gt;</code>.
-----
<span id="que-faire"></span>
=== '''Que faire ?''' ===
<span id="lister-les-images-sans-tag-dangling"></span>
==== '''1. Lister les images sans tag (dangling)''' ====
<syntaxhighlight lang="sh">docker images -f "dangling=true"</syntaxhighlight>
<span id="supprimer-les-images-none-inutiles"></span>
==== '''2. Supprimer les images <code>&lt;none&gt;</code> inutiles''' ====
Pour supprimer '''toutes les images sans tag''' :
<syntaxhighlight lang="sh">docker image prune</syntaxhighlight>
(Option <code>-a</code> pour supprimer aussi les images non utilisées par des conteneurs.)
<span id="supprimer-une-image-spécifique-par-son-id"></span>
==== '''3. Supprimer une image spécifique par son ID''' ====
<syntaxhighlight lang="sh">docker rmi d0045397e427</syntaxhighlight>
<span id="éviter-les-none-à-lavenir"></span>
==== '''4. Éviter les <code>&lt;none&gt;</code> à l’avenir''' ====
<ul>
<li><p>'''Toujours nommer/tagger vos images''' explicitement :</p>
<syntaxhighlight lang="sh">docker build -t monimage:mon_tag .</syntaxhighlight></li>
<li><p>'''Nettoyer après un build''' :</p>
<syntaxhighlight lang="sh">docker system prune -f</syntaxhighlight></li></ul>
-----
<span id="pourquoi-votre-cas-est-particulier"></span>
=== '''Pourquoi votre cas est particulier ?''' ===
Dans votre liste :<br />
- <code>debian12:latest</code> (ID: <code>d9997b66177d</code>) est l’image active.<br />
- <code>&lt;none&gt;</code> (ID: <code>d0045397e427</code>) est très probablement '''l’ancienne version''' de <code>debian12:latest</code> avant un rebuild.
→ Vous pouvez la supprimer sans risque si aucun conteneur ne l’utilise.
-----
<span id="résumé"></span>
=== '''Résumé''' ===
Les images <code>&lt;none&gt;</code> sont des résidus normaux de Docker.<br />
- '''Utilité''' : Permettent des rollbacks ou du caching.<br />
- '''Nettoyage''' : Utilisez <code>docker image prune</code> pour les supprimer si elles ne servent plus.




[[Catégorie:Docker]]
[[Catégorie:Docker]]