Aller au contenu principal

Les images Docker

Les images Docker

Objectifs pédagogiques

  • Savoir utiliser les commandes image de base (pull, ls, history, inspect, tag, prune)
  • Savoir identifier les images
  • Connaître les bonnes pratiques (Dockerfile, nettoyage, etc.)

Documentation


Les opérations sur les images

Lister : ls

Pour lister les images on utilise :

docker images
docker image ls

Construire : build

La commande build est un alias pour image build

Elle dispose de très nombreuses options qu'il est intéressant de connaître à terme pour des raisons de sécurité.

$ man docker-image-build

Télécharger : pull et push

La commande pull est un alias pour image pull La commande push est un alias pour image push

On les reverra dans la partie suivantes concernant les registres.

$ man docker-image-pull

Détruire : rm et prune

Le cycle de vie des images implique de faire du ménage fréquemment.

La commande rm supprime une image spécifique.

La commande`prune recherche les images sans conteneur démarré pour les supprimer.

$ docker image pull nging:1.14
$ docker image rm nging:1.14
$ docker image pull busybox
$ docker image prune

Identifier : tag

Attribue un nouvel alias à une image. Un alias fait référence au nom complet de l'image, y compris le TAG facultatif après le ':'.

$ docker image pull busybox
$ docker image tag busybox busybox:local
$ docker image tag busybox busybox:1.2.3
$ docker image ls
busybox 1.2.3 66ba00ad3de8 5 weeks ago 4.87MB
busybox latest 66ba00ad3de8 5 weeks ago 4.87MB
busybox local 66ba00ad3de8 5 weeks ago 4.87MB

Notez que par défaut si aucun numéro de version n'est fourni, docker utilise par défaut la version latest.

Bonne pratique : de ne pas s'appuyer sur ce mécanisme de latest. Pourquoi ?


Analyser : history et inspect

Ces commandes offrent une vision historique ou technique de l'image, permettant d'identifier leur processus de construction et leur contenu.

  • Supprimez une image
  • Que fait la commande docker image prune -a ?

Exporter/Importer : save, load et import

On a vu qu'on peut exporter sous forme de tarball des conteneurs.

La commande save offre la même capacité avec les images.

Les commandes load et import permettent de les importer soit comme image soit comme conteneur.