Comment passer des arguments à un Dockerfile?


120

J'utilise l'instruction RUN dans un Dockerfilepour installer un rpm

RUN yum -y install samplerpm-2.3

Cependant, je veux passer la valeur "2.3" comme argument. Mon instruction RUN devrait ressembler à quelque chose comme:

RUN yum -y install samplerpm-$arg

$arg=2.3

Réponses:


153

Vous recherchez --build-arget l' ARGinstruction. Ce sont des nouveautés depuis Docker 1.9. Consultez https://docs.docker.com/engine/reference/builder/#arg . Cela vous permettra d'ajouter des éléments ARG argà Dockerfile, puis de créer avec docker build --build-arg arg=2.3 ..


1
Après avoir fait tout cela, j'obtiens une erreur ** Aucun package samplerpm- $ arg disponible. ** Il semble que la valeur de l'argument 2,3 ne soit pas remplacée.
repas du

1
Vous devrez probablement créer une nouvelle question avec la Dockerfilecommande, utilisée pour la construction et une erreur pour que je puisse vous aider.
Andy Shinn

2
qu'en est-il des variables env à la place?
Alexander Mills
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.