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

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 ..


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.