- Ao criar e implantar uma aplicação como imagem Docker, o uso de uma imagem base pesada pode fazer com que o download demore muito, além de causar problemas de segurança se incluir dados sensíveis
- Formas de tornar imagens Docker mais leves e seguras
- Reduzindo o tamanho da imagem
- Quanto mais leve a imagem Docker, mais rápida será a compilação e a implantação da aplicação
- Isso permite implantar com mais frequência e em maior volume, aumentando a produtividade dos desenvolvedores
- Métodos
- Técnica de multi-stage: cria várias etapas, compila cada uma separadamente e integra o resultado na imagem mais leve
- Maneira de usar o mínimo possível o comando RUN: o comando RUN cria camadas individuais da imagem. Para minimizá-las, executa-se o máximo possível de scripts em um único comando RUN
- Remover código-fonte desnecessário com
.dockerignore
README.md e código de teste são desnecessários ao compilar a aplicação real
- Arquivos
.env com informações sensíveis, como tokens de autenticação de API, arquivos de chave privada .pem e o diretório .git com o histórico de commits não devem ser incluídos na imagem Docker
- Para evitar que esses arquivos sejam incluídos na imagem Docker, cria-se o arquivo
.dockerignore
- Criando imagens seguras
- Se a imagem Docker tiver privilégios de root, o impacto pode ser perigoso em caso de invasão
- Métodos
- Usar a versão exata da imagem: se a versão não for especificada, a versão
latest será usada automaticamente, e o comportamento em execução pode variar conforme a situação
- Remover permissão de escrita em
/etc: /etc é o diretório que contém arquivos e scripts de configuração do sistema. Como a aplicação normalmente não precisa modificá-lo, é melhor remover a permissão de escrita
- Remover todos os executáveis: no caso de Go, é possível executar com apenas um binário, então todos os outros executáveis com risco potencial são removidos
- Trocar para um usuário comum: a conta root pode modificar e controlar tudo no sistema. Cria-se um usuário com o mínimo de privilégios e faz-se a aplicação rodar apenas com esse usuário
- Imagens Docker leves mostram sinergia quando pipelines de CI/CD encontram metodologias ágeis
- Imagens Docker seguras ajudam a proteger o negócio e a prevenir riscos com antecedência
Ainda não há comentários.