Commande Docker Build avec plusieurs arguments

Isaac Tony 23 aout 2022
Commande Docker Build avec plusieurs arguments

La commande docker build permet de créer des images Docker à partir d’un Dockerfile. Cela nous permet également de construire une image à partir d’un contexte faisant référence à un ensemble de fichiers situés dans un emplacement spécifié par un PATH ou une URL.

D’autre part, un Dockerfile est simplement un document texte en lecture seule avec des instructions qui seront appelées lors de l’assemblage de notre image Docker. Une image Docker est un jeu d’instructions, un code d’application, des dépendances, des outils et des bibliothèques que nous utilisons pour créer un conteneur Docker.

Ce tutoriel montre comment utiliser la commande docker build et plusieurs arguments.

la commande docker build avec plusieurs arguments

La commande docker build est généralement exécutée dans le terminal ou la ligne de commande.

Syntaxe:

docker build [options] <directory path or URL>

Le PATH ou l’URL fait référence à un ensemble de fichiers dans un contexte qui peut inclure des ressources telles qu’un contexte tarball pré-emballé, des fichiers en texte brut ou même un référentiel git. Si tous les fichiers sont stockés dans le répertoire local, c’est-à-dire le même répertoire que le Dockerfile, nous pouvons choisir d’utiliser . comme chemin.

Ce chemin spécifie les fichiers utilisés pour le contexte de construction sur le démon docker.

docker build .

Nous pouvons passer plusieurs arguments pendant la construction sous le paramètre options. À l’aide de la balise –build-arg, nous pouvons définir des valeurs que les utilisateurs peuvent définir au moment de la construction.

Cependant, nous devons d’abord définir une instruction ARG dans notre Dockerfile avant d’utiliser la balise --build-arg pour construire l’image. Nous pouvons accéder à cette variable de temps de construction comme des variables d’environnement normales ; cependant, ils ne persistent pas après la création de l’image.

Bien que la portée des instructions ARG soit limitée, elle peut être déclarée avant de spécifier l’image de base. Nous pouvons également passer plusieurs arguments de construction en passant séparément chaque argument avec une balise --build-arg distincte.

Syntaxe:

docker build -t <image-name>:<tag> --build-arg <key1>=<value1> --build-arg <key2>=<value2> .

Nous avons un Dockerfile simple qui définit certaines valeurs ARG dans l’exemple suivant. Dans ce cas, nous n’avons pas défini leurs valeurs par défaut.

Le fichier Docker se présente comme indiqué ci-dessous.

#  base image
FROM python

ARG language
ARG name
# Set your working directory
WORKDIR /var/www/

# Copy the necessary files
COPY ./app.py /var/www/app.py

# Install the necessary packages
RUN pip install -r /var/www/requirements.txt

RUN echo "Hello $language Developer"
MAINTAINER Isaac Tonyloi

Par conséquent, nous devrons transmettre les valeurs à l’aide des balises -build-arg lors de la construction de l’image.

~/my-app$ docker build --build-arg language=Java .

La création d’une image à l’aide de la commande ci-dessus imprimera le message Hello Java Developer à côté d’autres fichiers, comme indiqué ci-dessous.

                                                                                                           0.0s
 => [5/6] RUN pip install -r /var/www/requirements.txt                                                                                                                      100.4s
 => [6/6] RUN echo "Hello Java Developer"                                                                                                                                     4.4s
 => exporting to image                                                                                                                                                        3.8s
 => => exporting layers                                                                                                                                                       2.8s
 => => writing image sha256:22fa358b711d2ea3a1d72e59f062f6c7c38b414bdb253fb8d0def20222cadd93

Nous pouvons également utiliser docker build avec plusieurs commandes utilisant plusieurs balises --build-arg.

/my-app$ docker build \
> --build-arg language=Java \
> --build-arg name=Tonyloi \
> .

Cela imprime le message ci-dessous et à côté d’autres messages. Bien que ce soit très basique, c’est ainsi que vous pouvez passer plusieurs commandes lors de la création d’une image Docker à partir d’un Dockerfile.

Production:

 => [2/2] RUN echo "Hello Java Developer and my name is Tonyloi"                                                                                                              3.3s
 => exporting to image                                                                                                                                                        3.0s
 => => exporting layers                                                                                                                                                       2.0s
 => => writing image sha256:d4d7c3b18aa9422be2990f5381a5423a18867dda8090dd4a4f166efc4e7c4ba2
Auteur: Isaac Tony
Isaac Tony avatar Isaac Tony avatar

Isaac Tony is a professional software developer and technical writer fascinated by Tech and productivity. He helps large technical organizations communicate their message clearly through writing.

LinkedIn

Article connexe - Docker Command