Как передать аргументы в 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

meallhour
источник

Ответы:

153

Ищете --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 не заменяется.
meallhour
1
Вам, вероятно, потребуется создать новый вопрос с помощью Dockerfileкоманды, используемой для сборки, и ошибки, чтобы я мог помочь с этим.
Энди Шинн
2
а как насчет переменных env вместо этого?
Александр Миллс