Gerenciando e Usando Variáveis de Ambiente
Acessando Variáveis de Ambiente em Contêineres
Depois de definir variáveis de ambiente em seu Dockerfile, você pode acessá-las dentro do contêiner em execução usando a sintaxe padrão do shell. Por exemplo, em um script Bash, você pode acessar o valor da variável de ambiente DB_HOST assim:
echo "Host do banco de dados: $DB_HOST"
Você também pode usar variáveis de ambiente em seu código de aplicação, dependendo da linguagem de programação e framework que você está utilizando.
Sobrescrevendo Variáveis de Ambiente em Tempo de Execução
Ao executar um contêiner Docker, você pode sobrescrever as variáveis de ambiente definidas no Dockerfile usando a flag --env ou -e. Isso permite personalizar facilmente o comportamento do seu contêiner sem precisar reconstruir a imagem.
docker run -e DB_HOST=192.168.1.100 -e DB_PASSWORD=newpassword myapp
Neste exemplo, as variáveis de ambiente DB_HOST e DB_PASSWORD são sobrescritas em tempo de execução, tendo precedência sobre os valores definidos no Dockerfile.
Gerenciando Variáveis de Ambiente com Docker Compose
Se você estiver usando o Docker Compose para gerenciar sua aplicação, pode definir variáveis de ambiente na seção environment do seu arquivo docker-compose.yml. Isso permite centralizar a configuração para toda a sua pilha de aplicação.
version: "3"
services:
web:
image: myapp
environment:
DB_HOST: mysql
DB_PORT: 3306
DB_USER: myuser
DB_PASSWORD: secret
mysql:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: secret
Neste exemplo, as variáveis de ambiente para o serviço web são definidas na seção environment, e o serviço mysql também tem suas próprias variáveis de ambiente definidas.
graph TD
A[Docker Compose] --> B[Variáveis de Ambiente]
B --> C[Contêineres Docker]
C --> D[Aplicações]
Gerenciando variáveis de ambiente dessa forma, você pode escalar facilmente sua aplicação, trocar serviços e manter uma configuração consistente em diferentes ambientes.