Як передати аргументи в Dockerfile?


120

Я використовую інструкцію RUN протягом a, Dockerfileщоб встановити rpm

RUN yum -y install samplerpm-2.3

Однак я хочу передати значення "2.3" як аргумент. Моя інструкція RUN повинна виглядати приблизно так:

RUN yum -y install samplerpm-$arg

де $arg=2.3

Відповіді:


152

Ви шукаєте --build-argі ARGінструкцію. Вони є новими в Docker 1.9. Перевірте https://docs.docker.com/engine/reference/builder/#arg . Це дозволить вам додати ARG argдо, Dockerfileа потім створити за допомогою docker build --build-arg arg=2.3 ..


1
Зробивши все це, я отримую помилку ** Немає пакета samplerpm- $ arg. ** Здається, значення аргументу 2,3 не замінюється.
менша година

1
Можливо, вам буде потрібно створити нове запитання з Dockerfileкомандою, яка використовується для побудови, і помилкою для того, щоб допомогти з цим.
Енді Шінн

2
як щодо змінних env?
Олександр Міллс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.