Согласно документации , для флага можно определить несколько аргументов --build-arg
, но я не могу понять, как это сделать. Я пробовал следующее:
docker build -t essearch/ess-elasticsearch:1.7.6 --build-arg number_of_shards=5 number_of_replicas=2 --no-cache .
=> Это возвращает ошибку.
Я также пробовал:
docker build -t essearch/ess-elasticsearch:1.7.6 --build-arg number_of_shards=5,number_of_replicas=2 --no-cache .
=> Это устанавливает одну переменную, number_of_shards
в значение "5, число_реплик = 2"
Есть идеи, как я могу определить несколько аргументов?
--help
На это особенно в заблуждение:--build-arg list
. Это не список!Приведенный выше ответ pl_rock верен, единственное, что я хотел бы добавить, - это ожидать, что ARG будет внутри Dockerfile, если у вас не будет доступа к нему. Итак, если вы делаете
Затем внутри Dockerfile вы должны добавить
Я столкнулся с этой проблемой, поэтому надеюсь, что помогу кому-то (себе) в будущем.
источник
ARGS
должно быть объявлено послеFROM
ARG
даже не упоминается в docs.docker.com/engine/reference/commandline/build/… и--build-arg
было бесполезно для меня безARG
Если вы хотите использовать переменную среды во время сборки. Допустим, установка имени пользователя и пароля.
Dockerfile
Терминальная команда
docker build --build-arg SMB_PASS=swed24sw --build-arg SMB_USER=Ubuntu . -t IMAGE_TAG
источник
docker history
команды.Жалко, что нам тоже нужно несколько ARG, это приводит к нескольким уровням и из-за этого замедляет сборку, и для тех, кто также задается вопросом, в настоящее время нет возможности установить несколько ARG.
источник