¿Cómo pasar argumentos a un Dockerfile?


120

Estoy usando la instrucción RUN dentro de a Dockerfilepara instalar un rpm

RUN yum -y install samplerpm-2.3

Sin embargo, quiero pasar el valor "2.3" como argumento. Mi instrucción RUN debería verse así:

RUN yum -y install samplerpm-$arg

dónde $arg=2.3

Respuestas:


152

Buscas --build-argy la ARGinstrucción. Estos son nuevos a partir de Docker 1.9. Consulte https://docs.docker.com/engine/reference/builder/#arg . Esto le permitirá añadir ARG arga la Dockerfiley luego construir condocker build --build-arg arg=2.3 . .


1
Después de hacer todo eso, aparece un error ** No hay paquete samplerpm- $ arg disponible. ** Parece que el valor del argumento de 2.3 no se sustituye.
hora media del

1
Probablemente necesitará crear una nueva pregunta con el Dockerfilecomando utilizado para compilar y el error para que yo lo ayude.
Andy Shinn

2
¿qué pasa con las variables env en su lugar?
Alexander Mills
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.