Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] É possível utilizar ENV no Docker-compose?

Bom dia,

Gostaría de saber se é possível criar um docker-compose utlizando ENV para passar valores como url de conexão da base de dados, usuário do banco e senha? Por exemplo, no meu caso criei um docker-compose para minha aplicação:

version: '3.9'
services:
  lura_flix_api:
    image: "laurocorreia/alura-flix-api:1.1"
    container_name: "alura_flix_api"
    networks:
      - compose-brigde
    ports:
      - 8080:8080
    env_file:
      - ~/Documents/GitHub/java_challengs_back_end/alura-flix-api/.env
networks:
  compose-brigde:
    driver: bridge

Pode-se ver que estou utilizando o conceito de env_file, mas as variáveis ENV poderiam ser colocadas directamente aquí? Como sugestão do curso, aborar como utilizar um arquivo .env e como utilizar no docker-compose.

Obrigado pela atenção

2 respostas
solução!

Olá Lauro, tudo bem?

Sim, é possível utilizar variáveis de ambiente diretamente no arquivo docker-compose.yml. Para isso, basta definir as variáveis no campo "environment" dentro do serviço desejado. Por exemplo:

version: '3.9'
services:
  lura_flix_api:
    image: "laurocorreia/alura-flix-api:1.1"
    container_name: "alura_flix_api"
    networks:
      - compose-brigde
    ports:
      - 8080:8080
    environment:
      DB_URL: "url_da_base_de_dados"
      DB_USER: "usuario_do_banco"
      DB_PASSWORD: "senha_do_banco"
networks:
  compose-brigde:
    driver: bridge

Dessa forma, você pode passar os valores das variáveis diretamente no arquivo docker-compose.yml, sem a necessidade de utilizar um arquivo .env.

Espero ter ajudado e bons estudos!

obrigado!