O que são arquivos .dockerignore e por que você deve usá-los?

Nota: O seguinte artigo irá ajudá-lo com: O que são arquivos .dockerignore e por que você deve usá-los?

Procurando melhorar seu jogo de compilação do Docker? Tentando usar um arquivo .dockerignore para compilações mais eficientes e seguras. Jack Wallen mostra como.

Apesar dos rumores em contrário, o Docker ainda é muito popular. Muitas grandes empresas e desenvolvedores continuam a depender dessa tecnologia de contêiner e o farão por muito tempo. Portanto, se você deseja ingressar no ranking das equipes de desenvolvimento empresarial, provavelmente deve continuar aprimorando suas habilidades do Docker.

Se você é novo no Docker, há muito o que aprender. Você provavelmente já descobriu como implantar um aplicativo simples com o Docker e até mesmo implantar aplicativos mais complicados com o tempo de execução. Mas há outras habilidades e recursos que você vai querer conhecer. Um desses recursos é o arquivo .dockerignore.

CONSULTE: Kit de Contratação: Desenvolvedor JavaScript (TechRepublic )

O arquivo .dockerignore é muito semelhante ao arquivo .gitignore, pois permite especificar uma lista de arquivos ou diretórios que o Docker deve ignorar durante o processo de compilação. Isso pode ser muito útil em certos casos. Mas, mais importante, o .dockerignore pode ajudá-lo a reduzir o tamanho da imagem e acelerar drasticamente o processo de compilação. Qualquer pessoa que trabalhe em um ambiente incrivelmente movimentado entende perfeitamente a necessidade de acelerar as compilações. E reduzir o tamanho das imagens pode ser crucial, especialmente quando sua empresa está pagando pelo armazenamento e você está implantando aplicativos e serviços em escala.

Um benefício adicional do arquivo .dockerignore é que ele pode ajudar a reduzir o plano de ataque de suas imagens. Você quer o mínimo possível de “coisas” estranhas dentro de suas imagens (especialmente arquivos de senha), e às vezes você pode iniciar uma compilação esquecendo que deixou alguns pedaços na pasta de compilação. Acontece com os melhores dos melhores.

Finalmente, o arquivo .dockerignore pode ajudar na invalidação do cache. É bastante comum usar a instrução COPY para copiar arquivos e pastas dentro de um contexto de compilação do Docker. No entanto, cada instrução dentro do seu Dockerfile resultaria na criação de uma nova camada de imagem intermediária. Por causa disso, quando você faz alterações no Dockerfile repetidamente, isso pode levar a várias invalidações de cache que podem desperdiçar recursos preciosos.

Com isso dito, vamos descobrir como usar o arquivo .dockerignore e os tipos de itens que você pode querer incluir neles.

Como usar o arquivo .dockerignore

Isso é realmente simples. Na sua pasta de compilação do Docker, crie o arquivo com o comando:

nano .dockerignore

Dentro desse arquivo, você cria uma lista de coisas para o Docker ignorar, um item por linha. Então, esse arquivo pode conter:

#Ignore arquivo de senhas
senhas.txt

#Ignore diretório de logs
Histórico/

#Ignore as pastas git e cache
.git
.cache

#Ingore todos os arquivos de markdown e class
*.md
**/*.classe

Esse é um arquivo .gitignore bastante sólido. Mas digamos que, por algum motivo, você trabalha com imagens .iso (talvez você esteja construindo suas imagens base a partir delas) e acidentalmente deixa essa imagem na pasta de construção. Faça isso e o processo será consideravelmente mais longo e a imagem resultante também poderá crescer um pouco. Para evitar isso, vamos adicionar imagens ISO ao arquivo .dockerignore assim:

#Ignore arquivo de senhas
senhas.txt

#Ignore diretório de logs
Histórico/

#Ignore as pastas git e cache
.git
.cache

#Ingore todos os arquivos de markdown e class
*.md
**/*.classe

#Ignore imagens ISO
*.iso

Agora, quando você for executar o processo de compilação, não precisará se preocupar em pegar qualquer coisa que tenha adicionado ao arquivo .dockerignore. Depois de criar um arquivo .dockerignore sólido, você provavelmente poderia movê-lo de uma compilação para outra (a menos que você crie um arquivo para ignorar com base em um caso de uso específico).

Essa é uma ótima (e fácil) maneira de trazer um pouco mais de eficiência e segurança para suas compilações do Docker. Comece a usar arquivos .dockerignore imediatamente… você ficará feliz por ter feito isso.