Come passare argomenti a un Dockerfile?


120

Sto usando l'istruzione RUN all'interno di un Dockerfileper installare un rpm

RUN yum -y install samplerpm-2.3

Tuttavia, voglio passare il valore "2.3" come argomento. La mia istruzione RUN dovrebbe essere simile a:

RUN yum -y install samplerpm-$arg

dove $arg=2.3

Risposte:


153

Stai cercando --build-arge l' ARGistruzione. Questi sono nuovi a partire da Docker 1.9. Dai un'occhiata a https://docs.docker.com/engine/reference/builder/#arg . Ciò ti consentirà di aggiungere ARG arga Dockerfilee quindi creare con docker build --build-arg arg=2.3 ..


1
Dopo aver fatto tutto ciò, ricevo un errore ** Nessun pacchetto samplerpm- $ arg disponibile. ** Sembra che il valore dell'argomento 2.3 non venga sostituito.
pasti

1
Probabilmente dovrai creare una nuova domanda con il Dockerfilecomando, utilizzato per la compilazione, e l'errore per consentirmi di aiutarti.
Andy Shinn

2
che dire invece delle variabili env?
Alexander Mills
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.