Recherche…


Syntaxe

  • images de docker [OPTIONS] [REPOSITORY [: TAG]]
  • docker inspect [OPTIONS] CONTENEUR | IMAGE [CONTENEUR | IMAGE ...]
  • docker pull [OPTIONS] NAME [: TAG | @DIGEST]
  • docker rmi [OPTIONS] IMAGE [IMAGE ...]
  • tag docker [OPTIONS] IMAGE [: TAG] [REGISTRYHOST /] [NOM D'UTILISATEUR /] NOM [: TAG]

Récupérer une image depuis Docker Hub

Normalement, les images sont extraites automatiquement de Docker Hub . Docker tentera d'extraire n'importe quelle image de Docker Hub qui n'existe pas déjà sur l'hôte Docker. Par exemple, si vous utilisez docker run ubuntu lorsque l'image d' ubuntu n'est pas déjà sur l'hôte Docker, Docker déclenchera la dernière image ubuntu . Il est possible de tirer une image séparément en utilisant Docker docker pull pour docker pull ou mettre à jour manuellement une image depuis Docker Hub.

docker pull ubuntu
docker pull ubuntu:14.04

Des options supplémentaires pour extraire un registre d'images différent ou extraire une version spécifique d'une image existent. Indiquant qu'un autre registre est effectué à l'aide du nom complet de l'image et de la version facultative. Par exemple, la commande suivante tente d'extraire l'image ubuntu:14.04 du registry.example.com registry.example.com:

docker pull registry.example.com/username/ubuntu:14.04

Liste des images téléchargées localement

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              693bce725149        6 days ago          967 B
postgres            9.5                 0f3af79d8673        10 weeks ago        265.7 MB
postgres            latest              0f3af79d8673        10 weeks ago        265.7 MB

Référencement d'images

Les commandes Docker qui prennent le nom d'une image acceptent quatre formes différentes:

Type Exemple
ID court 693bce725149
prénom hello-world (par défaut à :latest balise)
Nom + tag hello-world:latest
Digérer hello-world@sha256:e52be8ffeeb1f374f440893189cd32f44cb166650e7ab185fa7735b7dc48d619

Remarque: vous ne pouvez vous référer à une image que par son condensé si cette image a été à l'origine extraite à l'aide de ce résumé. Pour voir le résumé d'une image (s'il en existe une), exécutez les docker images --digests .

Supprimer des images

La commande docker rmi permet de supprimer des images:

docker rmi <image name>

Le nom complet de l'image doit être utilisé pour supprimer une image. Si l'image n'a pas été marquée pour supprimer le nom du registre, elle doit être spécifiée. Par exemple:

docker rmi registry.example.com/username/myAppImage:1.3.5

Il est également possible de supprimer les images par leur ID à la place:

docker rmi 693bce725149

Pour plus de commodité, il est possible de supprimer des images par leur identifiant d'image en spécifiant uniquement les premiers caractères de l'ID d'image, tant que la sous-chaîne spécifiée n'est pas ambiguë:

docker rmi 693

Remarque: les images peuvent être supprimées même si des conteneurs existants utilisent cette image. docker rmi se contente de "débloquer" l'image.

Si aucun conteneur n'utilise une image, celle-ci est récupérée. Si un conteneur utilise une image, l'image sera collectée une fois que tous les conteneurs qui l'utilisent sont supprimés. Par exemple:

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED                  STATUS                     PORTS               NAMES
5483657ee07b        hello-world         "/hello"            Less than a second ago   Exited (0) 2 seconds ago                       small_elion

$ docker rmi hello-world
Untagged: hello-world:latest

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED                  STATUS                      PORTS               NAMES
5483657ee07b        693bce725149        "/hello"            Less than a second ago   Exited (0) 12 seconds ago                       small_elion

Supprimer toutes les images sans conteneur démarré

Pour supprimer toutes les images locales sans conteneur démarré, vous pouvez fournir une liste des images en tant que paramètre:

docker rmi $(docker images -qa)

Supprimer toutes les images

Si vous souhaitez supprimer des images, qu'elles aient ou non un conteneur démarré, utilisez l'indicateur de force ( -f ):

docker rmi -f $(docker images -qa)

Supprimer les images pendantes

Si une image n'est pas étiquetée et n'est pas utilisée par un conteneur, elle est "en suspens" et peut être supprimée comme ceci:

docker images -q --no-trunc -f dangling=true | xargs -r docker rmi

Rechercher des images dans le Docker Hub

Vous pouvez rechercher des images dans Docker Hub en utilisant la commande de recherche :

docker search <term>

Par exemple:

$ docker search nginx
NAME                      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
nginx                     Official build of Nginx.                        3565      [OK]
jwilder/nginx-proxy       Automated Nginx reverse proxy for docker c...   717                  [OK]
richarvey/nginx-php-fpm   Container running Nginx + PHP-FPM capable ...   232                  [OK]
...

Inspection d'images

docker inspect <image>

La sortie est au format JSON. Vous pouvez utiliser l'utilitaire de ligne de commande jq pour analyser et imprimer uniquement les clés souhaitées.

docker inspect <image> | jq -r '.[0].Author'

La commande ci-dessus affiche le nom de l'auteur des images.

Marquage des images

Le marquage d'une image est utile pour suivre les différentes versions d'image:

docker tag ubuntu:latest registry.example.com/username/ubuntu:latest

Un autre exemple de marquage:

docker tag myApp:1.4.2 myApp:latest
docker tag myApp:1.4.2 registry.example.com/company/myApp:1.4.2

Enregistrement et chargement des images Docker

docker save -o ubuntu.latest.tar ubuntu:latest

Cette commande enregistre l'image ubuntu:latest sous forme d'archive tarball dans le répertoire actuel sous le nom de ubuntu.latest.tar . Cette archive tarball peut ensuite être déplacée vers un autre hôte, par exemple en utilisant rsync , ou archivée dans le stockage.

Une fois l'archive a été déplacée, la commande suivante crée une image à partir du fichier:

docker load -i /tmp/ubuntu.latest.tar

Maintenant, il est possible de créer des conteneurs à partir de l’ ubuntu:latest image comme d’habitude.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow