Según la documentación , es posible definir múltiples argumentos para la bandera --build-arg
, pero no puedo averiguar cómo. Intenté lo siguiente:
docker build -t essearch/ess-elasticsearch:1.7.6 --build-arg number_of_shards=5 number_of_replicas=2 --no-cache .
=> Esto devuelve un error.
También probé:
docker build -t essearch/ess-elasticsearch:1.7.6 --build-arg number_of_shards=5,number_of_replicas=2 --no-cache .
=> Esto establece una variable number_of_shards
,, en el valor "5, number_of_replicas = 2"
¿Alguna idea de cómo puedo definir múltiples argumentos?
--help
sobre esto es especialmente engañoso:--build-arg list
. ¡No es una lista!La respuesta anterior de pl_rock es correcta, lo único que agregaría es esperar el ARG dentro del Dockerfile si no, no tendrá acceso a él. Entonces si lo estás haciendo
Luego, dentro del Dockerfile, debe agregar
Me encontraba con este problema, así que espero ayudar a alguien (a mí mismo) en el futuro.
fuente
ARGS
debe declararse despuésFROM
ARG
ni siquiera se menciona en docs.docker.com/engine/reference/commandline/build/… y--build-arg
fue inútil para mí sinARG
Si desea utilizar la variable de entorno durante la compilación. Digamos que configuramos nombre de usuario y contraseña.
Dockerfile
Comando terminal
docker build --build-arg SMB_PASS=swed24sw --build-arg SMB_USER=Ubuntu . -t IMAGE_TAG
fuente
docker history
comando.Es una pena que también necesitemos múltiples ARG, da como resultado múltiples capas y ralentiza la compilación debido a eso, y para cualquiera que también se pregunte eso, actualmente no hay forma de establecer múltiples ARG.
fuente