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 .