É possível configurar variáveis de ambiente a serem importadas para cada contêiner docker

1

Em um ambiente de IC, desejo passar as credenciais para alcançar a autenticação em nosso servidor interno da Gems em contêineres de estivadores que estão sendo iniciados em tarefas de IC. Eu gostaria de poder configurar o daemon do docker para buscar sempre a variável do ambiente no agente e enviá-la para todos os contêineres já iniciados.

Atualmente, é possível fazer isso?

    
por dustyburwell 27.01.2016 / 17:58

1 resposta

1

O caminho mais fácil:

$ export HOSTVAR=somevalue
$ docker run -it --rm -e CONTAINERVAR="${HOSTVAR}" someimage

Isso obviamente não enviará alterações para HOSTVAR em contêineres em execução. Você também precisará garantir que recrie cada contêiner em execução deve HOSTVAR change. Dependendo da sua configuração, isso pode ser suficiente, ou seja, cada teste é executado em um novo contêiner.

Se você tiver contêineres de longa duração, terá que confiar em algum tipo de daemon de configuração compartilhada, como o etcd executado dentro de seus contêineres. É bastante simples de configurar e permite escutar alterações em um armazenamento de chave / valor de configuração centralizado. Verifique o docs do etcd para um exemplo.

    
por 28.01.2016 / 06:09