Utilisation d’un fichier Dockerfile Dockerfile
1. Intérêt des fichiers Dockerfile
La "recette" dont nous venons de parler se présente sous la forme d’un fichier texte nommé Dockerfile, utilisant une grammaire particulière à Docker. Ce fichier contient toutes les opérations nécessaires à la préparation d’une image Docker. Ainsi, au lieu de construire une image par des opérations manuelles dans un conteneur suivie par une commande commit (voire plusieurs si l’on procède en étapes) comme nous l’avons évoqué ci-dessus, nous allons pouvoir compiler une image depuis une description textuelle de ces opérations.
Voici par exemple le contenu du fichier Dockerfile correspondant à l’image officielle MongoDB en ligne 3.6 (un système de gestion de base de données NoSQL) telle qu’elle peut être retrouvée sur le registre Docker Hub (version 3.6.19 de MongoDB, disponible sur https://registry.hub.docker.com/_/mongo/, pour être plus précis ) :
FROM ubuntu:xenial
# add our user and group first to make sure their IDs get assigned
consistently, regardless of whatever dependencies get added
RUN groupadd -r mongodb && useradd -r -g mongodb mongodb
RUN set -eux; \
apt-get update; \
apt-get install -y --no-install-recommends \
ca-certificates...