Eu definitivamente armazenar os arquivos do Docker e a configuração de texto dentro de um SCM (por exemplo, git). É para isso que eles são feitos (Source and Configuration Management)!
Para os binários, vi atualmente duas abordagens "em estado natural":
-
wget <url>
dentro doDockerfile
:- De um URL público (como o repositório central
- De um repositório de artefatos binários privados (consulte o Blog do tipo Sonatype por exemplo.
-
Usando um script de shell para copiar os artefatos relevantes para o diretório de compilação do Docker. Os scripts de shell invocam
docker build
dentro desse diretório para realmente construir a imagem.
Outras coisas possíveis são docker import
(veja também Criando uma imagem de base ) e docker commit
, mas provavelmente não serão relevantes durante o uso no dia a dia.