Boas práticas Imagem oficial User imagens oficiais docker como imagens base para a criação dos serviços utilizados na sua aplicação. Ao invés de pegar uma imagem base de um sistema operacional inteiro (Exemplo: ubuntu , alpine ) e instalar os pacotes necessários para a execução do serviço desejado, procurar no repositório do Docker Hub imagens oficiais na versão desejada deste serviço. Exemplo: imagem docker oficial do PHP. Versões específicas Ao se escolher a imagem docker a ser utilizada para determinado serviço, definir uma versão específica para se utilizar desta imagem. Por padrão, quando você não especifica a tag da imagem a ser utilizada em uma imagem docker, você utilizará a versão latest desta imagem. Conforme novas versões deste serviço são desenvolvidas, a imagem docker da tag denominada latest será substituída por estas novas versões. Imagem docker do PHP, tag latest. Essa situação pode se transformar em um problema, porque você poderá perder o controle sobre qual a versão do serviço será utilizado. Por exemplo, quando o desenvolvimento e testes da aplicação for realizado, a tag latest pode conter o serviço PHP na versão 7.3 . Num momento futuro, com o desenvolvimento de novas versões, a tag lastest poderá conter o serviço PHP na versão 8.0 , que pode ter problema de compatibilidade com a versão anterior e causar um funcionamento imprevisível. Tamanho pequeno Dê preferência para imagens docker de tamanho pequeno. Além da economia de recursos, prefira imagens que tenham somente os serviços essenciais para o funcionamento da aplicação a ser desenvolvida. Se for o caso, defina as imagens docker com os pacotes necessários para cada um dos ambientes de execução da aplicação. Por exemplo, a imagem do ambiente de desenvolvimento poderá ter pacotes instalados que não são necessários no ambiente de produção. Além dos pacotes instalados na imagem, a distribuição que foi utilizada como imagem base também influenciará no tamanho total da imagem docker. Imagens docker PHP 8.3 - diferença de tamanho entre sistemas operacionais Quanto mais pacotes, além dos recursos necessários para seu funcionamento, amplia-se potenciais problemas de segurança e maior frequência de necessidade de atualização. .dockerignore Quando se constrói uma imagem docker, podemos especificar quais os arquivos do repositório não serão incluídos dentro da imagem. O arquivo .dockerignore é utilizado na mesma lógica do funcionamento do arquivo .gitignore para um repositório git . Adicione neste arquivo o nome ou o padrão de arquivos para serem ignorados no momento da criação da imagem docker. Referências 7 Práticas recomendadas para usar o Docker em produção