« Docker Images » : différence entre les versions
Aucun résumé des modifications |
|||
| (2 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
== Docker image Info == | |||
<syntaxhighlight lang="bash" copy> | |||
docker inspect phpmyadmin --format 'Image={{.Config.Image}} | ImageID={{.Image}}' ; docker image inspect phpmyadmin --format 'Tag={{index .RepoTags 0}} | ID={{.Id}} | Created={{.Created}}'</syntaxhighlight> | |||
== Vérifier la date de création d'une image == | == Vérifier la date de création d'une image == | ||
<syntaxhighlight lang="bash">docker image inspect debian:latest --format='{{.Id}} {{.Created}}'</syntaxhighlight> | <syntaxhighlight lang="bash" copy>docker image inspect debian:latest --format='{{.Id}} {{.Created}}'</syntaxhighlight> | ||
== Copie locale == | == Copie locale == | ||
| Ligne 47 : | 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 65 : | 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 71 : | 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 79 : | 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 85 : | 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 97 : | 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 143 : | 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 149 : | 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 155 : | 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 161 : | 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 169 : | 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 ?''' === | ||