Comment …
- Lister les images téléchargées sur la machine hôte
- Supprimer une image de la machine hôte
- Télécharger une image
- Rechercher une image
- Créer une nouvelle image en apportant des changements à une image de base
- Créer une nouvelle image à partir d’un fichier Dockerfile
- Assigner un tag à une image
- Pusher une image vers Docker Hub
Lister les images téléchargées sur la machine hôte
docker images
Il est possible d’utiliser dockviz tool pour visualiser le contenu d’une image.
Supprimer une image de la machine hôte
docker rmi <image id|name>
Télécharger une image
docker pull <image name>
docker pull <image name>:<image version>
Si la version de l’image est omise, c’est la version la plus récente qui est téléchargée.
Rechercher une image
docker search <image name>
docker search ubuntu
Créer une nouvelle image en apportant des changements à une image de base
# créer un container depuis l'image `training/sinatra` et s'y connecter
docker run -t -i training/sinatra /bin/bash
# installer des dépendances dans ce container
root@0b2616b0e5a8:/ apt-get install -y ruby2.0-dev ruby2.0
root@0b2616b0e5a8:/ exit
# commiter une copie de ce container vers une nouvelle image
docker commit -m <your commit message> -a <author name> <container id> <our user>/<new image name>
docker commit -m "Added json gem" -a "Kate Smith" 0b2616b0e5a8 ouruser/sinatra:v2
L’inconvénient de cette méthode de création d’image est que le processus est lourd (installation et configuratoin manuelle des dépendances du container), et aussi il n’est pas possible de la partager avec d’autres personnes. Une meilleur méthode est de créer un fichier Dockerfile.
Créer une nouvelle image à partir d’un fichier Dockerfile
Exemple de fichier Dockerfile
FROM ubuntu:14.04
MAINTAINER Kate Smith <ksmith@example.com>
RUN apt-get update && apt-get install -y ruby ruby-dev
RUN gem install sinatra
docker build -t <our user>/<new image name> .
Nous indiquons le chemin où se trouve le fichier Dockerfile avec .
Assigner un tag à une image
docker tag <image id> <our user>/<image name>:<image tag>
docker tag 5db5f8471261 ouruser/sinatra:devel
Pusher une image vers Docker Hub
docker push <our user>/<image name>