"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > ## Como pré-armazenar dependências Go em cache em imagens Docker para compilações mais rápidas?

## Como pré-armazenar dependências Go em cache em imagens Docker para compilações mais rápidas?

Publicado em 2024-11-08
Navegar:922

## How to Pre-Cache Go Dependencies in Docker Images for Faster Builds?

Construindo imagens Docker de maneira eficiente com dependências pré-armazenadas em cache

Ao construir imagens Docker, é crucial minimizar o tempo de construção. Uma estratégia é armazenar dependências em cache. No entanto, isso requer a construção das dependências primeiro, o que pode ser demorado.

Existe uma maneira de pré-construir várias dependências listadas no arquivo go.mod?

A resposta está em utilizando os mecanismos de cache do Docker. A estrutura Dockerfile sugerida inclui uma camada de cache crucial:

FROM scratch
COPY --from=build /out/example /

Esta etapa copia o executável compilado de um estágio de compilação intermediário para a imagem final. No entanto, o ingrediente principal está no estágio de construção:

RUN --mount=type=cache,target=/root/.cache/go-build go build -o /out/example .

Este comando monta o diretório de cache go build padrão (/root/.cache/go-build) e executa o comando go build. O cache garante que as dependências sejam baixadas e compiladas apenas uma vez, reduzindo significativamente o tempo de compilação para compilações subsequentes.

Para ativar o cache, é essencial definir a variável de ambiente DOCKER_BUILDKIT como 1:

DOCKER_BUILDKIT=1 docker build -t myimage .

Seguindo essas etapas, você pode pré-construir todas as dependências em go.mod e aproveitar o cache para agilizar suas compilações de imagens Docker.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3