Nom |
Description |
--add-host |
Ce paramètre permet d'ajouter une cartographie d'hôte à IP personnalisé (host:ip). |
--build-arg |
Ce paramètre permet de définir les variables d'un numéro de construction. |
-c |
Ce paramètre permet de partager le microprocesseur (poids relatif). |
--cache-from |
Ce paramètre permet d'indiquer les images à considérer comme sources de cache. |
--cgroup-parent |
Ce paramètre permet d'indiquer un groupe de contrôle parent facultatif pour le conteneur. |
--compress |
Ce paramètre permet de compresser le contexte du numéro de construction à l'aide de gzip. |
--cpu-period |
Ce paramètre permet de limiter la période CFS (Completely Fair Scheduler) du microprocesseur. |
--cpu-quota |
Ce paramètre permet de limiter le quota CFS (Completely Fair Scheduler) du microprocesseur. |
--cpu-shares |
Ce paramètre permet de partager le microprocesseur (poids relatif). |
--cpuset-cpus |
Ce paramètre permet d'indiquer que le microprocesseur dans lesquelles autoriser l'exécution (0-3, 0,1). |
--cpuset-mems |
Ce paramètre permet d'indiquer que le MEM dans lesquels autoriser l'exécution (0-3, 0,1). |
--disable-content-trust |
Ce paramètre permet d'ignorer la vérification d'image. La valeur par défaut est true. |
-f |
Ce paramètre permet d'indiquer le nom du Dockerfile (la valeur par défaut est 'PATH/Dockerfile'). |
--file |
Ce paramètre permet d'indiquer le nom du Dockerfile (la valeur par défaut est 'PATH/Dockerfile'). |
--force-rm |
Ce paramètre permet de retirer toujours les conteneurs intermédiaires. |
--iidfile |
Ce paramètre permet d'écrire l'identificateur d'image dans le fichier. |
--isolation |
Ce paramètre permet d'activer la technologie d'isolation des conteneurs. |
--label |
Ce paramètre permet de définir des métadonnées pour une image. |
-m |
Ce paramètre permet d'indiquer la limite de mémoire. |
--memory |
Ce paramètre permet d'indiquer la limite de mémoire. |
--memory-swap |
Ce paramètre permet d'indiquer la limite d'échange mémoire égale à la mémoire plus l'échange mémoire: «-1» pour activer l'échange illimité. |
--network |
Ce paramètre permet de définir le mode réseau pour les instructions RUN pendant la construction. Réclame une API 1.25 ou supérieur. |
--no-cache |
Ce paramètre permet de ne pas utiliser de cache lors de la création de l'image. |
-o |
Ce paramètre permet d'indiquer la destination de sortie (format : type=local,dest=path). Réclame une API 1.40 ou supérieur. |
--output |
Ce paramètre permet d'indiquer la destination de sortie (format : type=local,dest=path). Réclame une API 1.40 ou supérieur. |
--platform |
Ce paramètre permet définir la plate-forme si le serveur est compatible avec plusieurs plates-formes. Réclame une API 1.38 ou supérieur. |
--progress |
Ce paramètre permet définir le type de sortie de progression (auto, plain, tty). Utilisez plain pour afficher la sortie du conteneur. La valeur par défaut est auto. |
--pull |
Ce paramètre permet d'essayer toujours d'extraire une version plus récente de l'image. |
-q |
Ce paramètre permet de supprimer la sortie de construction et d'afficher l'identificateur d'image en cas de succès. |
--quiet |
Ce paramètre permet de supprimer la sortie de construction et d'afficher l'identificateur d'image en cas de succès. |
--rm |
Ce paramètre permet de supprimer les conteneurs intermédiaires après une construction réussie. La valeur par défaut est true. |
--secret |
Ce paramètre permet d'indiquer un fichier secret à exposer à la construction (uniquement si BuildKit est activé) : id=mysecret,src=/local/secret. Réclame une API 1.39 ou supérieur. |
--security-opt |
Ce paramètre permet d'indiquer des options de sécurité. |
--shm-size |
Ce paramètre permet d'indiquer la taille de /dev/shm. |
--squash |
Ce paramètre permet d'écraser les couches nouvellement construites en une seule nouvelle couche. Réclame une API 1.25 ou supérieur. |
--ssh |
Ce paramètre permet d'indiquer le socket ou les clefs de l'agent SSH à exposer à la construction (uniquement si BuildKit est activé) (format: default|[=|[,]]). Réclame une API 1.39 ou supérieur. |
--stream |
Ce paramètre permet d'indiquer que le flux se connecte au serveur pour négocier le contexte de construction. |
-t |
Ce paramètre permet d'indiquer le nom et éventuellement une balise au format 'name:tag'. |
--tag |
Ce paramètre permet d'indiquer le nom et éventuellement une balise au format 'name:tag'. |
--target |
Ce paramètre permet de définir l'étape de construction cible à construire. |
--ulimit |
Ce paramètre permet d'indiquer les options Ulimit. |
- La commande docker build crée des images Docker à partir d'un Dockerfile et d'un contexte. Le contexte d'une construction est l'ensemble des fichiers
situés dans le PATH ou l'URL spécifié. Le processus de construction peut faire référence à n'importe lequel des fichiers dans le contexte. Par exemple, votre
construction peut utiliser une instruction COPY pour référencer un fichier dans le contexte.
- Le paramètre URL peut faire référence à trois types de ressources : les dépôts Git, les contextes tarball pré-emballés et les fichiers texte brut.
- Dépôts Git : Lorsque le paramètre URL pointe vers l'emplacement d'un référentiel Git, le référentiel agit comme le contexte de construction.
Le système récupère récursivement le référentiel et ses sous-modules. L'historique des validations n'est pas conservé. Un référentiel est d'abord extrait dans un répertoire
temporaire sur votre hôte local. Une fois que cela réussit, le répertoire est envoyé au service Docker en tant que contexte. La copie locale vous donne la possibilité
d'accéder aux référentiels privés à l'aide des informations d'identification de l'utilisateur local, des VPN,...
Si le paramètre URL contient un fragment, le système clonera récursivement le référentiel et ses sous-modules à l'aide d'une commande :
Les URL de Git acceptent la configuration du contexte dans leur section de fragment, séparés par deux points (:). La première partie
représente la référence que Git va extraire et peut être une branche, une balise ou une référence distante. La deuxième partie représente un sous-répertoire à l'intérieur
du référentiel étant utilisé comme contexte de construction. Par exemple, exécutez cette commande pour utiliser un répertoire appelé docker dans le conteneur de branche :
docker build https://github.com/docker/rootfs.git#container:docker
|
Le tableau suivant représente tous les suffixes valides avec leurs contextes de construction :
Syntaxe du suffixe de construction |
Commite utilisé |
Contexte de construction utilisé |
myrepo.git |
refs/heads/master |
/ |
myrepo.git#mytag |
refs/tags/mytag |
/ |
myrepo.git#mybranch |
refs/heads/mybranch |
/ |
myrepo.git#pull/42/head |
refs/pull/42/head |
/ |
myrepo.git#:myfolder |
refs/heads/master |
/myfolder |
myrepo.git#master:myfolder |
refs/heads/master |
/myfolder |
myrepo.git#mytag:myfolder |
refs/tags/mytag |
/myfolder |
myrepo.git#mybranch:myfolder |
refs/heads/mybranch |
/myfolder |
Vous ne pouvez pas spécifier le répertoire de contexte de construction (myfolder dans les exemples ci-dessus) lorsque vous utilisez
BuildKit en tant que générateur (DOCKER_BUILDKIT = 1). La prise en charge de cette fonctionnalité est suivie dans le buildkit#1684.
- Contextes de tarball : Si vous transmettez une URL à une archive tar à distance, l'URL elle-même est envoyée au service :
docker build http://serveur/contexte.tar.gz
|
L'opération de téléchargement sera effectuée sur l'hôte sur lequel le service Docker s'exécute, n'étant pas nécessairement le même hôte à partir
duquel la commande de construction est émise. Le service Docker récupérera contexte.tar.gz et l'utilisera comme contexte de construction. Les contextes Tarball doivent
être des archives tar conformes au format tar du standard de UNIX et peuvent être compressés avec l'un des formats «xz», «bzip2», «gzip» ou
«identity» (sans compression).
- Fichiers texte : Au lieu de spécifier un contexte, vous pouvez transmettre un seul Dockerfile dans l'URL ou diriger le fichier via STDIN.
Pour diriger un Dockerfile depuis STDIN :
docker build - < Dockerfile
|
Avec Powershell sous Windows, vous
pouvez exécuter :
Si vous utilisez STDIN ou spécifiez une URL pointant vers un fichier texte brut, le système place le contenu dans un fichier
appelé Dockerfile, et toute paramètre -f, --file est ignorée. Dans ce scénario, il n'y a pas de contexte.
Par défaut, la commande docker build recherchera un Dockerfile à la racine du contexte de construction. Le paramètre -f, --file, vous permet de
spécifier le chemin vers un autre fichier à utiliser à la place. Il est utile dans les cas où le même ensemble de fichiers est utilisé pour plusieurs constructions. Le chemin
doit être vers un fichier dans le contexte de construction. Si un chemin relatif est spécifié, il est interprété comme relatif à la racine du contexte.
Dans la plupart des cas, il est préférable de placer chaque Dockerfile dans un répertoire vide. Ensuite, ajoutez à ce répertoire uniquement les fichiers nécessaires à
la création du Dockerfile. Pour augmenter les performances de la compilation, vous pouvez exclure des fichiers et des répertoires en ajoutant également un fichier
.dockerignore à ce répertoire. Si le client Docker perd la connexion au service, la compilation est annulée. Cela se produit si vous interrompez le client
Docker avec Ctrl+C ou si le client Docker est tué pour une raison quelconque. Si la génération a lancé une extraction étant toujours en cours
d'exécution au moment où la génération est annulée, l'extraction est également annulée.