~/questoes/devops
Variáveis de ambiente no Docker Compose permitem que você use valores dinâmicos no arquivo docker-compose.yml, tornando-o reutilizável em diferentes contextos sem precisar modificar o arquivo a cada ambiente.
A sintaxe ${NOME_VARIAVEL} permite que o Docker Compose substitua valores em tempo de execução, lendo as variáveis do sistema operacional ou de um arquivo .env. Assim, o mesmo arquivo funciona em desenvolvimento, teste e produção sem alterações.
Usar ${NOME_VARIAVEL} é o padrão correto do Docker Compose. Você define variáveis em um arquivo .env ou no sistema operacional, e o Compose as substitui automaticamente quando você executa docker-compose up. Isso torna o arquivo reutilizável e seguro para diferentes ambientes.
Modificar o Dockerfile manualmente a cada alteração é ineficiente e contrário à filosofia do Docker. O Dockerfile deve ser imutável e reutilizável. As variáveis devem ser gerenciadas no docker-compose.yml ou em arquivos .env, não no Dockerfile.
Definir valores fixos em cada serviço é extremamente inflexível. Se você precisar usar a mesma composição em outro computador ou ambiente com configurações diferentes, terá que editar o arquivo manualmente. Variáveis de ambiente existem justamente para evitar isso.
Criar um novo arquivo docker-compose para cada contexto é trabalhoso e difícil de manter. Você teria múltiplos arquivos praticamente idênticos, apenas com valores diferentes. Variáveis de ambiente eliminam essa necessidade mantendo um único arquivo.