0Pricing
Docker & DevOps Fundamentals · Aula

Variáveis de ambiente e arquivos .env

Configure os serviços do Compose de forma organizada usando variáveis de ambiente, substituição de variáveis e um arquivo .env, para que um único arquivo do Compose funcione em desenvolvimento, homologação e produção.

Variáveis de ambiente e arquivos .env é uma aula grátis de Docker & DevOps Fundamentals no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Docker & DevOps Fundamentals, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Docker & DevOps Fundamentals inclui 4 aulas no total.

Por que externalizar a configuração?

Inserir senhas e portas diretamente em um arquivo do Compose é frágil e inseguro. Variáveis de ambiente permitem alterar o comportamento por ambiente sem editar o YAML.

  • Mantenha os segredos fora do controle de versão
  • Reutilize um único arquivo do Compose em todos os ambientes
  • Sobrescreva valores em tempo de execução

A chave environment

Dentro de um serviço, declare variáveis em environment como um mapa. Elas são injetadas no contêiner durante a inicialização.

services:
  db:
    image: postgres:16
    environment:
      POSTGRES_USER: app
      POSTGRES_PASSWORD: secret

Formato de lista

A mesma chave também aceita uma lista de strings no formato KEY=VALUE. Escolha o formato que considerar mais legível.

services:
  db:
    image: postgres:16
    environment:
      - POSTGRES_USER=app
      - POSTGRES_PASSWORD=secret

O arquivo .env

O Compose lê automaticamente um arquivo chamado .env no diretório do projeto. Defina os valores nele uma vez e faça referência a eles com a substituição ${VAR}.

# .env
PG_USER=app
PG_PASS=secret
WEB_PORT=8080

Substituição de variáveis

Use ${VAR} em qualquer lugar do arquivo do Compose. O Compose o substitui pelo valor de .env ou do shell antes da análise.

services:
  db:
    image: postgres:16
    environment:
      POSTGRES_USER: ${PG_USER}
      POSTGRES_PASSWORD: ${PG_PASS}

Valores padrão

Forneça um valor alternativo com ${VAR:-default}. Se a variável não estiver definida ou estiver vazia, o valor padrão será usado, mantendo a pilha funcionando sem um arquivo .env completo.

ports:
  - "${WEB_PORT:-80}:80"

Variáveis obrigatórias

Use ${VAR:?message} para tornar uma variável obrigatória. O Compose é interrompido com sua mensagem se ela estiver ausente, detectando configurações incorretas logo no início.

environment:
  API_KEY: ${API_KEY:?API_KEY must be set}

A diretiva env_file

Para passar um arquivo inteiro de variáveis diretamente para um contêiner (e não apenas para substituição), use env_file. Cada linha se torna uma variável de ambiente do contêiner.

services:
  api:
    image: myapi:1.0
    env_file:
      - api.env

Regras de precedência

Quando uma variável é definida em vários lugares, o Compose aplica uma ordem. O ambiente do terminal tem precedência sobre .env; uma entrada explícita environment: tem precedência sobre env_file.

  • O terminal / CLI -e vence
  • depois environment:
  • depois env_file
  • depois os padrões da imagem

Inspecionando valores resolvidos

Execute docker compose config para imprimir o arquivo Compose totalmente resolvido, com todas as substituições aplicadas. É ótimo para verificar o que realmente será executado.

docker compose config

Mantenha os segredos fora do Git

Registre um .env.example com valores de exemplo e adicione o .env real ao .gitignore. Para segredos reais de produção, prefira os segredos do Docker às variáveis de ambiente.

# .gitignore
.env

Verificação rápida

Como funcionam os valores padrão na substituição?

Recapitulação

Agora você pode configurar o Compose de forma organizada usando dados de ambiente:

  • environment: injeta variáveis por serviço
  • Um arquivo .env alimenta a substituição de ${VAR}
  • :- fornece valores padrão, e :? marca valores obrigatórios
  • docker compose config mostra o resultado resolvido

Isso torna um único arquivo Compose portátil em qualquer ambiente.

Perguntas Frequentes

A aula “Variáveis de ambiente e arquivos .env” é grátis?

Sim — o texto completo de “Variáveis de ambiente e arquivos .env” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Docker & DevOps Fundamentals, atualize para CoddyKit PRO. O curso de Docker & DevOps Fundamentals inclui 4 aulas no total.

O que vou aprender em “Variáveis de ambiente e arquivos .env”?

Configure os serviços do Compose de forma organizada usando variáveis de ambiente, substituição de variáveis e um arquivo .env, para que um único arquivo do Compose funcione em desenvolvimento, homol… Você pratica Docker & DevOps Fundamentals com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Docker & DevOps Fundamentals?

Nenhuma experiência prévia é necessária. Docker & DevOps Fundamentals no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Variáveis de ambiente e arquivos .env”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Docker & DevOps Fundamentals?

Sim. Cada aula de Docker & DevOps Fundamentals inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. O que é o Docker Compose?
  2. Escrevendo um Arquivo do Compose
  3. Implantação de Aplicações com Vários Serviços
  4. Variáveis de ambiente e arquivos .env
← Voltar para Docker & DevOps Fundamentals