Construire une image dans Docker

Le Dockerfile

Avant de poursuivre, rappelons que pour construire une image, il faut dans un premier temps préparer un fichier Dockerfile. Et cela tombe bien, car dans la leçon précédente, nous en avons créé un.

Construire une image

Plaçons-nous dans le dossier que nous avons précédemment créé avec le Dockerfile à l'intérieur.

Pour vérifier que nous sommes bien au bon endroit, tapez la commande qui permet de lister les fichiers dans le dossier courant.

ls

On devrait normalement tomber sur ce résultat.

Dockerfile

Pour construire une image à partir d'un Dockerfile, utilisé la commande suivante.

docker build -t ubuntu_nodejs .

Expliquons la signification de cette commande.

Le mot-clé build indique qu'il est question de construire une image. L'option -t nous donne la possibilité de donner un nom à notre image pour qu'elle soit facilement identifiable. Nous avons choisi ubuntu_nodejs, mais il est possible d'utiliser un autre nom au choix. Le . juste après correspond au dossier courant car il contient le Dockerfile. Si notre Dockerfile est ailleurs, adaptez la commande.

Commande pour construire une image grâce au Dockerfile

À présent vérifions que l'image existe réellement.

docker image ls
REPOSITORY      TAG       IMAGE ID       CREATED         SIZE
ubuntu_nodejs   latest    f64149a721f0   2 minutes ago   180MB

C'est tout bon 😄.

Créer un conteneur à partir de notre image

Pour vérifier que notre image possède bien toutes les choses décrites dans le Dockerfile, nous allons créer un nouveau conteneur.

docker run -it --rm ubuntu_nodejs 

Dans une autre fenêtre de votre terminal, utilisez la commande suivante pour vérifier que le conteneur est bien en route.

docker ps
CONTAINER ID   IMAGE           COMMAND   CREATED         STATUS         PORTS     NAMES
c3e49efb757a   ubuntu_nodejs   "bash"    4 seconds ago   Up 3 seconds             jovial_shaw

Normalement notre conteneur devrait avoir Node.js.

Vérifions cela !

Dans le conteneur tapez la commande qui suit.

node -v

Si vous tombez sur le numéro de version de Node.js alors tout vas bien, les choses ont bien fonctionné. Pour ma part le terminal m'affiche la version suivante (je vous l'indique seulement pour information, mais ce numéro est sans importance dans notre cas).

v8.10.0