« Docker Images » : différence entre les versions
Aucun résumé des modifications |
|||
| (Une version intermédiaire par le même utilisateur non affichée) | |||
| Ligne 51 : | Ligne 51 : | ||
Pour éviter toute confusion ou écrasement accidentel, vous pouvez aussi versionner votre image locale : | Pour éviter toute confusion ou écrasement accidentel, vous pouvez aussi versionner votre image locale : | ||
<syntaxhighlight lang="bash">docker tag debian:latest local/debian:2025-06</syntaxhighlight> | <syntaxhighlight lang="bash" copy>docker tag debian:latest local/debian:2025-06</syntaxhighlight> | ||
Et dans le <code>Dockerfile</code> : | Et dans le <code>Dockerfile</code> : | ||
| Ligne 69 : | Ligne 69 : | ||
Si tu avais tagué une image locale comme ceci : | Si tu avais tagué une image locale comme ceci : | ||
<syntaxhighlight lang="bash">docker tag debian:latest local/debian:latest</syntaxhighlight> | <syntaxhighlight lang="bash" copy>docker tag debian:latest local/debian:latest</syntaxhighlight> | ||
Tu peux soit : - Supprimer ce tag local : <code>bash docker rmi local/debian:latest</code> - Ou le renommer pour le conserver : <code>bash docker tag local/debian:latest local/debian:backup</code> | Tu peux soit : - Supprimer ce tag local : <code>bash docker rmi local/debian:latest</code> - Ou le renommer pour le conserver : <code>bash docker tag local/debian:latest local/debian:backup</code> | ||
| Ligne 75 : | Ligne 75 : | ||
==== 2. '''Tirer la dernière version depuis Docker Hub''' ==== | ==== 2. '''Tirer la dernière version depuis Docker Hub''' ==== | ||
<syntaxhighlight lang="bash">docker pull debian:latest</syntaxhighlight> | <syntaxhighlight lang="bash" copy>docker pull debian:latest</syntaxhighlight> | ||
Cela télécharge la version la plus récente de l’image officielle. | Cela télécharge la version la plus récente de l’image officielle. | ||
| Ligne 83 : | Ligne 83 : | ||
Si tu veux continuer à utiliser un tag local dans ton <code>Dockerfile</code> : | Si tu veux continuer à utiliser un tag local dans ton <code>Dockerfile</code> : | ||
<syntaxhighlight lang="bash">docker tag debian:latest local/debian:latest</syntaxhighlight> | <syntaxhighlight lang="bash" copy>docker tag debian:latest local/debian:latest</syntaxhighlight> | ||
<span id="rebuilder-ton-image"></span> | <span id="rebuilder-ton-image"></span> | ||
==== 4. '''Rebuilder ton image''' ==== | ==== 4. '''Rebuilder ton image''' ==== | ||
| Ligne 89 : | Ligne 89 : | ||
Ensuite, tu peux reconstruire ton image avec Docker ou Docker Compose : | Ensuite, tu peux reconstruire ton image avec Docker ou Docker Compose : | ||
<syntaxhighlight lang="bash">docker compose build --no-cache</syntaxhighlight> | <syntaxhighlight lang="bash" copy>docker compose build --no-cache</syntaxhighlight> | ||
L’option <code>--no-cache</code> garantit que tout est reconstruit à partir de la nouvelle image de base. | L’option <code>--no-cache</code> garantit que tout est reconstruit à partir de la nouvelle image de base. | ||
| Ligne 101 : | Ligne 101 : | ||
Tu peux créer un petit script <code>update-base.sh</code> : | Tu peux créer un petit script <code>update-base.sh</code> : | ||
<syntaxhighlight lang="bash">#!/bin/bash | <syntaxhighlight lang="bash" copy>#!/bin/bash | ||
docker pull debian:latest | docker pull debian:latest | ||
docker tag debian:latest local/debian:latest | docker tag debian:latest local/debian:latest | ||
| Ligne 147 : | Ligne 147 : | ||
==== '''1. Lister les images sans tag (dangling)''' ==== | ==== '''1. Lister les images sans tag (dangling)''' ==== | ||
<syntaxhighlight lang="sh">docker images -f "dangling=true"</syntaxhighlight> | <syntaxhighlight lang="sh" copy>docker images -f "dangling=true"</syntaxhighlight> | ||
<span id="supprimer-les-images-none-inutiles"></span> | <span id="supprimer-les-images-none-inutiles"></span> | ||
==== '''2. Supprimer les images <code><none></code> inutiles''' ==== | ==== '''2. Supprimer les images <code><none></code> inutiles''' ==== | ||
| Ligne 153 : | Ligne 153 : | ||
Pour supprimer '''toutes les images sans tag''' : | Pour supprimer '''toutes les images sans tag''' : | ||
<syntaxhighlight lang="sh">docker image prune</syntaxhighlight> | <syntaxhighlight lang="sh" copy>docker image prune</syntaxhighlight> | ||
(Option <code>-a</code> pour supprimer aussi les images non utilisées par des conteneurs.) | (Option <code>-a</code> pour supprimer aussi les images non utilisées par des conteneurs.) | ||
| Ligne 159 : | Ligne 159 : | ||
==== '''3. Supprimer une image spécifique par son ID''' ==== | ==== '''3. Supprimer une image spécifique par son ID''' ==== | ||
<syntaxhighlight lang="sh">docker rmi d0045397e427</syntaxhighlight> | <syntaxhighlight lang="sh" copy>docker rmi d0045397e427</syntaxhighlight> | ||
<span id="éviter-les-none-à-lavenir"></span> | <span id="éviter-les-none-à-lavenir"></span> | ||
==== '''4. Éviter les <code><none></code> à l’avenir''' ==== | ==== '''4. Éviter les <code><none></code> à l’avenir''' ==== | ||
| Ligne 165 : | Ligne 165 : | ||
<ul> | <ul> | ||
<li><p>'''Toujours nommer/tagger vos images''' explicitement :</p> | <li><p>'''Toujours nommer/tagger vos images''' explicitement :</p> | ||
<syntaxhighlight lang="sh">docker build -t monimage:mon_tag .</syntaxhighlight></li> | <syntaxhighlight lang="sh" copy>docker build -t monimage:mon_tag .</syntaxhighlight></li> | ||
<li><p>'''Nettoyer après un build''' :</p> | <li><p>'''Nettoyer après un build''' :</p> | ||
<syntaxhighlight lang="sh">docker system prune -f</syntaxhighlight></li></ul> | <syntaxhighlight lang="sh" copy>docker system prune -f</syntaxhighlight></li></ul> | ||
| Ligne 173 : | Ligne 173 : | ||
<span id="pourquoi-votre-cas-est-particulier"></span> | <span id="pourquoi-votre-cas-est-particulier"></span> | ||
=== '''Pourquoi votre cas est particulier ?''' === | === '''Pourquoi votre cas est particulier ?''' === | ||