Início·Comandos de terminal

docker build

Pacotes e runtimes

Uso

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

Constrói uma imagem a partir de um Dockerfile; o ponto no fim é o contexto enviado ao daemon, então uma pasta gorda deixa o build lento até o .dockerignore enxugar, e o COPY só vê arquivos dentro desse contexto.

Opções comuns

OpçãoSignificado
-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

Exemplos

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

A pergunta é sempre o que vai onde: dentro deste projeto ou na máquina toda.

Como ler

  • Os colchetes [ ] marcam uma parte que você pode omitir.
  • As reticências … indicam que você pode listar vários.
  • As opções diferenciam maiúsculas: em alguns comandos -r e -R fazem coisas diferentes.

Perguntas

Q. O que docker build faz?

Constrói uma imagem a partir de um Dockerfile; o ponto no fim é o contexto enviado ao daemon, então uma pasta gorda deixa o build lento até o .dockerignore enxugar, e o COPY só vê arquivos dentro desse contexto.

Q. Como se digita?

docker build -t <name>:<tag> [-f <Dockerfile>] <context> — os colchetes marcam o que você pode omitir.

Q. Quantas opções vale a pena saber?

Aqui estão 7; a lista completa está em man docker. Este comando fica em Pacotes e runtimes.

Comandos relacionados

página man: man docker-build