Accueil·Commandes du terminal

docker build

Paquets et runtimes

Syntaxe

docker build -t <name>:<tag> [-f <Dockerfile>] <context>

Construit une image à partir d'un Dockerfile ; le point final est le contexte envoyé au démon, donc un dossier volumineux ralentit la construction jusqu'à ce que .dockerignore l'allège, et COPY ne voit que les fichiers de ce contexte.

Options courantes

OptionSignification
-t <name>:<tag>name the image; without it you only get an id
-f <file>use a Dockerfile that is not ./Dockerfile
--no-cacherebuild every layer
--build-arg KEY=valuepass an ARG into the build
--target <stage>stop at one stage of a multi-stage file
--platform linux/amd64build for another architecture
--progress=plainfull log output instead of the collapsed view

Exemples

docker build -t myapp:1.0 .

builds from ./Dockerfile with the current folder as context

docker build -f docker/Dockerfile.dev -t myapp:dev .

another Dockerfile, same context

docker build --platform linux/amd64 -t myapp:1.0 .

an x86 image built on an Apple Silicon Mac

La question est toujours quoi va où : dans ce projet, ou sur la machine entière.

Comment lire

  • Les crochets [ ] marquent une partie facultative.
  • Les points de suspension … signifient qu’on peut en mettre plusieurs.
  • Les options sont sensibles à la casse : sur certaines commandes, -r et -R ne font pas la même chose.

Questions fréquentes

Q. Que fait docker build ?

Construit une image à partir d'un Dockerfile ; le point final est le contexte envoyé au démon, donc un dossier volumineux ralentit la construction jusqu'à ce que .dockerignore l'allège, et COPY ne voit que les fichiers de ce contexte.

Q. Comment l’écrire ?

docker build -t <name>:<tag> [-f <Dockerfile>] <context> — les crochets marquent ce qui est facultatif.

Q. Combien d’options valent la peine ?

Il y en a 7 ici ; la liste complète est dans man docker. Cette commande relève de Paquets et runtimes.

Commandes liées

page man: man docker-build