De acordo com a documentação , é possível definir vários argumentos para o sinalizador --build-arg
, mas não consigo descobrir como. Eu tentei o seguinte:
docker build -t essearch/ess-elasticsearch:1.7.6 --build-arg number_of_shards=5 number_of_replicas=2 --no-cache .
=> Isso retorna um erro.
Eu também tentei:
docker build -t essearch/ess-elasticsearch:1.7.6 --build-arg number_of_shards=5,number_of_replicas=2 --no-cache .
=> Isso define uma variável number_of_shards
,, para o valor "5, número_de_replicas = 2"
Alguma idéia de como posso definir vários argumentos?
--help
sobre isso é especialmente enganosa:--build-arg list
. Não é uma lista!A resposta acima do pl_rock está correta, a única coisa que gostaria de acrescentar é esperar o ARG dentro do Dockerfile, caso contrário você não terá acesso a ele. Então, se você está fazendo
Em seguida, dentro do Dockerfile, você deve adicionar
Eu estava enfrentando esse problema, então espero ajudar alguém (eu) no futuro.
fonte
ARGS
deve ser declarado depoisFROM
ARG
nem sequer é mencionado em docs.docker.com/engine/reference/commandline/build/... e--build-arg
era inútil para mim semARG
Se você deseja usar a variável de ambiente durante a construção. Vamos dizer definindo nome de usuário e senha.
Dockerfile
Comando do Terminal
docker build --build-arg SMB_PASS=swed24sw --build-arg SMB_USER=Ubuntu . -t IMAGE_TAG
fonte
docker history
comandoÉ uma pena que também precisamos de vários ARGs, isso resulta em várias camadas e diminui a compilação por causa disso, e para quem também se pergunta, atualmente não há como definir vários ARGs.
fonte