~/questoes/devops
Docker Compose permite configurar recursos como memória e CPU para cada serviço, evitando que um container monopolize toda a máquina. Essa prática é essencial para ambientes estáveis e previsíveis, especialmente quando múltiplos serviços rodam juntos.
Definir limites de recursos previne que um serviço consume toda a memória disponível e deixe outros serviços sem recursos. No docker-compose.yml, você especifica limits e reservations para garantir que cada container respeite seu espaço alocado.
Definir limites de recursos (memoria, cpu) no arquivo docker-compose.yml é uma boa prática fundamental. Isso protege a máquina host e outros containers de ficarem sem recursos quando um serviço mau comportado consome tudo.
Ignorar variáveis de ambiente em produção é uma péssima prática. Variáveis de ambiente são essenciais para configurar senhas, URLs e chaves de API sem incluir dados sensíveis no código.
Configurar a mesma quantidade de memória para todas as aplicações é ineficiente. Um banco de dados precisa de muito mais memória que um serviço de API leve. Cada serviço deve ter recursos adequados à sua função.
Usar caminhos absolutos prejudica a portabilidade. O docker-compose.yml deve funcionar em diferentes máquinas e sistemas operacionais. Caminhos relativos e volumes nomeados são muito mais portáveis e robustos.