Como passar variáveis ​​de ambiente para um contêiner Docker

How Pass Environment Variables Docker Container



Docker é um programa de código aberto que executa aplicativos de servidor usando contêineres em vez de máquinas virtuais. Docker é uma configuração de desenvolvimento e hospedagem que utiliza menos recursos, então não é surpresa que esteja varrendo o mundo do desenvolvimento. As variáveis ​​de ambiente do Docker são importantes para esse procedimento porque armazenam dados exclusivos de cada conta de usuário que acessa o software.

Usando qualquer estrutura JavaScript moderna para criar um contêiner para um único aplicativo, você pode descobrir que as configurações variam dependendo de onde o contêiner será executado. A URL básica para sua API, por exemplo, pode variar dependendo se você está testando ou publicando o aplicativo. Variáveis ​​de ambiente são comumente usadas por desenvolvedores para resolver este problema porque o código opera no backend, variáveis ​​de ambiente geralmente são usadas lá.







Durante a construção da imagem, podemos precisar passar informações do ambiente para o contêiner operacional. Para fazer isso, empregamos os comandos ENV e ARG. O comando ARG cria uma variável que pode ser fornecida durante o processo de construção. Depois de definido no Dockerfile, você pode usar o parâmetro —build-arg para fornecê-lo ao criador de imagem. No Dockerfile, podemos ter várias instruções ARG. No Dockerfile, o comando ARG é o único que pode vir antes da instrução FROM.



No entanto, a instrução ENV define a variável de ambiente, que por sua vez especifica o ambiente para as instruções de construção que se seguem. A instrução ENV está acessível durante o processo de construção, bem como quando o contêiner é iniciado com o sinalizador —env. No entanto, não podemos passar a instrução ENV durante a construção da imagem. A diretiva ARG tem a desvantagem de ser incapaz de persistir após a construção da imagem. Para transmitir os dados do ambiente em linha ao criar a imagem, usaremos apenas ENV e ARG. Neste guia, ensinaremos como passar uma variável de ambiente para um contêiner docker.



Pré-requisitos

Para passar as variáveis ​​de ambiente para um contêiner docker, você deve ter o sistema Ubuntu 20.04 Linux instalado. Além disso, certifique-se de instalar a versão atualizada do Docker em seu sistema. Caso não esteja presente no sistema, você pode fazer sua instalação utilizando o comando abaixo citado.





$ sudo apt install docker.io

Em todo o tutorial, usamos a palavra-chave Sudo, o que significa que você deve ter privilégios de sudo para executar este artigo.



Método para passar as variáveis ​​de ambiente

Para passar as variáveis ​​de ambiente para um contêiner do docker, você deve abrir o terminal de linha de comando usando a tecla de atalho Ctrl + Alt + T ou pesquisando-o no menu do aplicativo usando sua barra de pesquisa. Agora, siga as etapas anexadas abaixo:

Etapa 1: extrair imagem
Ao longo deste guia, usaremos Alpine, uma pequena (5 MB) imagem do Linux. Para começar, baixe a imagem localmente usando o seguinte comando anexado:

$ sudo docker pull alpine: 3

A saída mostra a extração de imagem bem-sucedida.

Etapa 2: Passando variáveis ​​de ambiente
Usando o sinalizador –env, podemos inserir variáveis ​​de ambiente como pares de valor-chave direto no prompt de comando ao iniciar nosso contêiner Docker. Vamos usar o seguinte comando anexado como ilustração:

$ sudo docker run --env VARIABLE1 = foobar alpine: 3

Não haverá saída específica para este comando.

Etapa 3: refletindo as variáveis ​​de ambiente
Para refletir as variáveis ​​de ambiente, use o seguinte comando anexado junto com a palavra-chave export.

$ export VARIABLE2 = foobar2

Não haverá saída específica para este comando.

Etapa 4: especifique as variáveis ​​de ambiente
Agora, sem especificar o valor da variável de ambiente, vamos definir a variável de ambiente usando o comando listado abaixo no terminal:

$ sudo docker run --env VARIABLE2 alpine: 3 env

Na saída, você pode ver que a variável de ambiente foi passada com êxito para o contêiner do docker.

Conclusão

Neste artigo, deliberamos sobre o conceito e a importância das variáveis ​​de ambiente no docker. Além disso, fornecemos a você o guia passo a passo para passar uma variável de ambiente para um contêiner do docker. Espero que você não tenha problemas ao passar a variável de ambiente para um contêiner do docker.