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?

--helpsobre 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
ARGSdebe declararse despuésFROMARGni siquiera se menciona en docs.docker.com/engine/reference/commandline/build/… y--build-argfue inútil para mí sinARGSi 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_TAGfuente
docker historycomando.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