Docker сборка требует ровно 1 аргумента - PullRequest
0 голосов
/ 23 апреля 2020

Когда я запускаю эту команду на моем конвейере gitlab

docker build --build-arg NPM_TOKEN=${NPM_TOKEN} --tag $REGISTRY_IMAGE/web-public:$CI_COMMIT_SHA --tag $REGISTRY_IMAGE/web-public:$CI_COMMIT_REF_NAME packages/web-public

, она терпит неудачу при

сборке требуется ровно 1 аргумент

Это выглядит как я, как будто я на самом деле передаю один аргумент, путь; packages/web-public. Насколько мне известно, флаги не являются аргументами.

Что мне здесь не хватает?

Это структура моего проекта

enter image description here

Ответы [ 2 ]

2 голосов
/ 23 апреля 2020

Цитируйте свои переменные. Что-то в этих переменных расширяется, чтобы быть больше, чем один аргумент для флага.

docker build --build-arg "NPM_TOKEN=${NPM_TOKEN}" --tag "$REGISTRY_IMAGE/web-public:$CI_COMMIT_SHA" --tag "$REGISTRY_IMAGE/web-public:$CI_COMMIT_REF_NAME" packages/web-public

Вы также можете повторить эту команду, чтобы увидеть, как расширяются переменные, например,

echo docker build ...
1 голос
/ 23 апреля 2020

из https://docs.docker.com/engine/reference/commandline/build/

docker build [OPTIONS] PATH | URL | -

Похоже, что-то не так с вашим PATH. Попробуйте использовать абсолютный путь или перейдите в каталог, содержащий Dockerfile и используйте .

, см. Также: "docker build" требует ровно 1 аргумента (ов)

...