Pré-processador para Dockerfile com variáveis e arquivos de inclusão

5

Eu tenho usado o docker para vários dos meus aplicativos agora. Cheguei ao ponto de ter cerca de uma dúzia de dockerfiles. Freqüentemente eu tenho que fazer a mesma alteração ou incluir algo em vários dockerfiles - o que significa que eu tenho que fazer a mesma alteração em vários lugares.

Possivelmente, uma solução para esse problema seria usar um pré-processador que suporte arquivos e variáveis. Dessa forma eu posso ter coisas comuns no mesmo arquivo (por exemplo, um monte de coisas para incluir monit e supervisor) e incluir esses arquivos no meu Dockerfile.

A própria construção do Docker não inclui substituições de variáveis, então talvez um pré-processador resolva o problema? Eu sei que para o CSS há um monte de pré-processadores, então existe um pré-processador genérico ou algo que levará um arquivo YAML ou JSON e escreverá algo que o Docker entenderá?

    
por Anin Smith 05.03.2016 / 16:46

1 resposta

2

Este foi, na verdade, um tópico de discussão no Docker GitHub. O comentário final resume muito bem como: "não, o Dockerfile não é e não deveria ser uma linguagem de script ".

Mas a maneira como você descreve este caso, parece-me algo que você deve fazer após a compilação, ao inicializar o contêiner para a imagem que você construiu (talvez usando volumes ou variáveis de ambiente com um shell script agradável ao lado). Você já tentou essa abordagem?

    
por 26.01.2017 / 01:59