tag quiet different compose arg docker build arguments

quiet - construcción de Docker con--build-arg con múltiples argumentos



docker-compose build args (4)

Según la documentation , 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?


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.


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

docker build -t essearch/ess-elasticsearch:1.7.6 --build-arg number_of_shards=5 --build-arg number_of_replicas=2 --no-cache .

Luego, dentro del Dockerfile, debe agregar

ARG number_of_replicas ARG number_of_shards

Me encontraba con este problema, así que espero ayudar a alguien (a mí mismo) en el futuro.


Si desea utilizar la variable de entorno durante la compilación. Digamos que configuramos nombre de usuario y contraseña.

username= Ubuntu password= swed24sw

Dockerfile

FROM ubuntu:16.04 ARG SMB_PASS ARG SMB_USER # Creates a new User RUN useradd -ms /bin/bash $SMB_USER # Enters the password twice. RUN echo "$SMB_PASS/n$SMB_PASS" | smbpasswd -a $SMB_USER

Comando terminal

docker build --build-arg SMB_PASS=swed24sw --build-arg SMB_USER=Ubuntu . -t IMAGE_TAG


Use --build-arg con cada argumento.

Si está pasando dos argumentos, agregue --build-arg con cada argumento como:

docker build / -t essearch/ess-elasticsearch:1.7.6 / --build-arg number_of_shards=5 / --build-arg number_of_replicas=2 / --no-cache .