Présentation
Un Dockerfile est un script avec des instructions sur la façon de créer une image Docker. Ces instructions sont en fait un groupe de commandes exécutées automatiquement dans l'environnement Docker pour créer une image Docker spécifique.
Dans ce didacticiel, découvrez comment créer une image Docker avec un Dockerfile.
Prérequis
- Un système Linux
- Accès à la ligne de commande/fenêtre du terminal
- Accès à un compte utilisateur avec root ou sudo privilèges
- Docker installé et configuré
Installer Docker
Si vous souhaitez savoir comment utiliser un Dockerfile pour créer une image, Docker est probablement déjà installé sur votre système.
Dans le cas peu probable où vous ne le feriez pas, reportez-vous simplement à l'un de nos guides d'installation pour l'installation de Docker sur Ubuntu , l'installation de Docker sur CentOS 7/RHEL 7 ou CentOS 8.
Comment créer un fichier Docker
La première chose que vous devez faire est de créer un répertoire dans lequel vous pouvez stocker toutes les images Docker que vous créez.
1. À titre d'exemple, nous allons créer un répertoire nommé MyDockerImages avec la commande :
mkdir MyDockerImages
2. Déplacez-vous dans ce répertoire et créez-y un nouveau fichier vide (Dockerfile) en tapant :
cd MyDockerImages
touch Dockerfile
3. Ouvrez le fichier avec un éditeur de texte de votre choix. Dans cet exemple, nous avons ouvert le fichier en utilisant Nano :
nano Dockerfile
4. Ajoutez ensuite le contenu suivant :
FROM ubuntu
MAINTAINER sofija
RUN apt-get update
CMD ["echo", "Hello World"]
- DE – Définit la base de l'image que vous créez. Vous pouvez commencer à partir d'une image parente (comme dans l'exemple ci-dessus) ou une image de base . Lorsque vous utilisez une image parent, vous utilisez une image existante sur laquelle vous basez une nouvelle. L'utilisation d'une image de base signifie que vous partez de zéro (c'est exactement comme vous le définiriez :À PARTIR de zéro).
- MAINTENEUR – Spécifie l'auteur de l'image. Ici, vous pouvez saisir votre prénom et/ou votre nom (ou même ajouter une adresse e-mail). Vous pouvez également utiliser le LABEL instruction pour ajouter des métadonnées à une image.
- EXÉCUTER - Instructions pour exécuter une commande tout en créant une image dans un calque au-dessus. Dans cet exemple, le système recherche les mises à jour du référentiel une fois qu'il a commencé à créer l'image Docker. Vous pouvez avoir plusieurs instructions RUN dans un Dockerfile.
- CMD – Il ne peut y avoir qu'une seule instruction CMD dans un Dockerfile. Son but est de fournir des valeurs par défaut pour un conteneur en cours d'exécution. Avec lui, vous définissez une commande par défaut. Le système l'exécutera si vous exécutez un conteneur sans spécifier de commande.
5. Enregistrez et quittez le fichier.
6. Vous pouvez vérifier le contenu du fichier en utilisant le cat
commande :
cat Dockerfile
Créer une image Docker avec Dockerfile
La syntaxe de base utilisée pour créer une image à l'aide d'un Dockerfile est :
docker build [OPTIONS] PATH | URL | -
Pour construire une image docker, vous utiliserez donc :
docker build [location of your dockerfile]
Si vous êtes déjà dans le répertoire où se trouve le Dockerfile, mettez un .
au lieu de l'emplacement :
docker build .
En ajoutant le -t
flag, vous pouvez étiqueter la nouvelle image avec un nom qui vous aidera lorsque vous traitez plusieurs images :
docker build -t my_first_image .
Une fois l'image construite avec succès, vous pouvez vérifier si elle figure dans la liste des images locales avec la commande :
docker images
La sortie doit afficher my_first_image disponible dans le référentiel.
Créer un nouveau conteneur
Lancez un nouveau conteneur Docker basé sur l'image que vous avez créée aux étapes précédentes. Nous nommerons le conteneur "test" et créez-le avec la commande :
docker run --name test my_first_image
Le Hello World le message doit apparaître dans la ligne de commande, comme le montre l'image ci-dessus.