Como passar argumentos para um Dockerfile?

120

Estou usando a instrução RUN em um Dockerfilepara instalar um rpm

RUN yum -y install samplerpm-2.3

No entanto, desejo passar o valor "2.3" como um argumento. Minha instrução RUN deve ser semelhante a:

RUN yum -y install samplerpm-$arg

Onde $arg=2.3

refeição à sua
fonte

Respostas:

151

Você está procurando --build-arge a ARGinstrução. Eles são novos a partir do Docker 1.9. Confira https://docs.docker.com/engine/reference/builder/#arg . Isso permitirá que você adicione ARG argao Dockerfilee, em seguida, crie com docker build --build-arg arg=2.3 ..

Andy Shinn
fonte
1
Depois de fazer tudo isso, estou recebendo um erro ** No package samplerpm- $ arg available. ** Parece que o valor do argumento de 2.3 não está sendo substituído.
refeição da manhã de
1
Você provavelmente precisará criar uma nova pergunta com o Dockerfilecomando, usado para construir e erro para que eu possa ajudá-lo.
Andy Shinn
2
que tal variáveis ​​env?
Alexander Mills