Utiliser le fichier Dockerfile
Nous avons décris, dans la leçon précédente, le fonctionnement d'un Dockerfile. On nous a rappelé également l'objectif de ce fichier, créer une image personnalisée à partir d'une image existante.
Nous allons maintenant créer notre propre image à partir d'une autre. Nous choisirons pour cet exercice l'image que nous connaissons bien celtak/ubuntu-ping-ip
et nous allons y rajouter de nouvelles fonctionnalités.
Nous comprenons ainsi, qu'il est possible de créer une image personnalisée à partir d'une autre image personnalisée 😄.
Créer le fichier Dockerfile
Nous allons créer pour l'occasion, quelque part dans notre machine, un nouveau dossier. Nous pourrons, par exemple, l'appeler exercice-Dockerfile
.
mkdir exercice-Dockerfile
Nous allons entrer dans ce dossier.
cd exercice-Dockerfile
Désormais nous allons créer le fichier Dockerfile. On pourra après coup l'utiliser.
touch Dockerfile
⚠️ Nous rappelons que ce fichier doit forcément porter le nom Dockerfile et sans porter d'extension. Sinon cela ne fonctionnera pas.
Remplir notre Dockerfile
Ouvrez le fichier Dockerfile précédemment créé via votre éditeur de texte préféré. On pourra ainsi le remplir d'un contenu qui nous permettra de créer notre nouvelle image.
On va commencer par informer que l'image de base est celtak/ubuntu-ping-ip
. Pour cela nous allons nous servir du mot-clé FROM
.
FROM celtak/ubuntu-ping-ip
On va, par la suite, utiliser le mot-clé RUN
pour installer d'autres programmes.
Pour rappel, cette image contient déjà les programmes ip
et ping
.
Qu'est-ce que l'on pourrait bien installer 🤔 ?
Ce que l'on souhaite 🙂.
Pour notre exercice, nous allons installer une version de Node.js.
Pour information, Node.js est un programme qui nous permet d'exécuter du code JavaScript. Celui-ci est très populaire et généralement utilisé pour créer des serveurs web.
Mais avant, mettons à jour les dépôts en ajoutant la ligne correspondante.
FROM celtak/ubuntu-ping-ip
RUN apt-get update
On va maintenant installer Node.js, avec une ligne en plus.
FROM celtak/ubuntu-ping-ip
RUN apt-get update
RUN apt-get install -y nodejs
Il ne faut pas oublier le -y
sinon en cours d'installation, on nous posera la question : "Est-ce que nous voulons continuer l'installation ?". Mais comme les choses se font automatiquement via la construction de notre image, nous n'aurons pas la possibilité d'y répondre. Ajouter -y
, répond automatiquement oui (ou yes) à cette question 😲.
D'autres mots-clé sont utilisables pour atteindre d'autres objectifs. Pour les connaître vous pouvez vous aider de la documentation.
Et voilà ! Notre Dockerfile est terminé. Dans la prochaine leçon, on va pouvoir construire notre image.