Jak przekazać argumenty do pliku Dockerfile?


120

Używam instrukcji RUN w a, Dockerfileaby zainstalować rpm

RUN yum -y install samplerpm-2.3

Jednak chcę przekazać jako argument wartość „2.3”. Moja instrukcja RUN powinna wyglądać mniej więcej tak:

RUN yum -y install samplerpm-$arg

gdzie $arg=2.3

Odpowiedzi:


152

Szukasz --build-argi ARGinstrukcji. Są to nowe od wersji Docker 1.9. Sprawdź https://docs.docker.com/engine/reference/builder/#arg . Umożliwi to dodawanie ARG argdo, Dockerfilea następnie budowanie z docker build --build-arg arg=2.3 ..


1
Po wykonaniu tego wszystkiego otrzymuję błąd ** Brak dostępnego pakietu samplerpm- $ arg. ** Wygląda na to, że wartość argumentu 2.3 nie jest zastępowana.
Meallhour

1
Prawdopodobnie będziesz musiał utworzyć nowe pytanie za pomocą Dockerfilepolecenia użytego do kompilacji i błędu, abym mógł przy tym pomóc.
Andy Shinn

2
a co ze zmiennymi env zamiast tego?
Alexander Mills
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.