Multistage build na prática

Laboratório

Aplicação web escrita em Go.

go.mod:

main.go:

Execução Local

Criação da imagem de container:

O GO é uma linguagem compilada. Faz-se necessário compilar a aplicação para obter o binário.

Construção da imagem:

Execução do container:

Funcionou, porém a imagem construída possui aproximadamente 1GB de tamanho. Todo o SDK do GoLang está sendo carregado.

Para verificar o tamanho da imagem do GoLang, pode ser feito pelo history da imagem ou com o pull:

Utilizar o Multistage Build

Verificação do tamanho das imagens Alpine e Ubuntu:

Dockerfile.multistage:

Construção da imagem:

A imagem agora possui tamanho de 14MB

Execução do container:

Last updated