Como faço para declarar variáveis de ambiente no Dockerfile? [RESOLVIDO]

1. Como faço para declarar variáveis de ambiente no Dockerfile? [RESOLVIDO]

robert junior barros gonçalves
robert_barros

(usa Debian)

Enviado em 27/12/2021 - 11:54h

Boa tarde a todos, estou trabalhando com docker e preciso declarar as variáveis de ambiente do meu banco de dados dentro do meu Dockerfile. ja li algumas documentações, porem esta muito difícil de entender


  


2. Re: Como faço para declarar variáveis de ambiente no Dockerfile? [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 27/12/2021 - 17:00h

Vc pode usar ENV ou ARG para definir variáveis dentro do Dockerfile.

No seu caso, acho mais apropriado utilizar ENV.

Exemplo de arquivo: env.example:
DATABASE=database
HOSTNAME=hostname
USERNAME=username
PASSWORD=password


Exemplo de arquivo: Dockerfile:
FROM ubuntu

ENV DATABASE=
ENV HOSTNAME=
ENV USERNAME=
ENV PASSWORD=

CMD echo "$DATABASE:$HOSTNAME:$USERNAME:$PASSWORD"


Rodando build e run:
$ docker build --no-cache -t testenv .
$ docker run --rm --env-file env.example -it testenv


Ou se preferir passar as variáveis diretamente via cli:
$ docker run --rm -e DATABASE=database -e HOSTNAME=localhost -e USERNAME=username -e PASSWORD=password -it testenv 


Saída:
database:hostname:username:password 




3. Re: Como faço para declarar variáveis de ambiente no Dockerfile? [RESOLVIDO]

robert junior barros gonçalves
robert_barros

(usa Debian)

Enviado em 28/12/2021 - 11:50h

man obrigado primeiramente ajudou bastante. Cara estou fazendo a hospedagem de um site wordpress em docker e preciso que o php dele leia minhas variaveis no dockerfile, o senhor por acaso saberia como fazer isso?




4. Re: Como faço para declarar variáveis de ambiente no Dockerfile?

Perfil removido
removido

(usa Nenhuma)

Enviado em 28/12/2021 - 12:51h

Troque essas linhas do wp-config.php por:
define('DB_NAME', getenv('DB_NAME'));
define('DB_USER', getenv('DB_USER'));
define('DB_PASSWORD', getenv('DB_PASSWORD'));
define('DB_HOST', getenv('DB_HOST'));


Essas variáveis devem ser as mesmas setadas no Dockerfile.

E a função getenv() do php pega qualquer variável de ambiente.




5. Re: Como faço para declarar variáveis de ambiente no Dockerfile? [RESOLVIDO]

robert junior barros gonçalves
robert_barros

(usa Debian)

Enviado em 29/12/2021 - 11:41h

mano, criei as variaveis dentro do Dockerfile e determinei as variaveis dentro do wp-config.php, porem ele apresenta um erro de conexão com o banco de dados



6. Re: Como faço para declarar variáveis de ambiente no Dockerfile? [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 29/12/2021 - 15:36h

E cadê a mensagem de erro? Quando der erro, posta junto para sabermos o que está rolando, senão não adianta de nada...

Outro detalhe, tu printou essas variáveis no wp-config para saber se os valores estão corretos? Tem que saber se o $_ENV está pegando essas variáveis... tenta usar com getenv() tmb...



7. Re: Como faço para declarar variáveis de ambiente no Dockerfile? [RESOLVIDO]

robert junior barros gonçalves
robert_barros

(usa Debian)

Enviado em 04/01/2022 - 09:58h


mano muito obrigado, deu bom aqui. Não estava conseguindo fazer a conexão com o banco porque meu apache estava rodando na porta 82






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts