Docker 构建只需要 1 个参数

Siy*_*iya 3 docker gitlab-ci

当我在 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
Run Code Online (Sandbox Code Playgroud)

它失败了

构建正好需要 1 个参数

在我看来,我实际上是在传递一个参数,即路径;packages/web-public. 据我所知,标志不是参数。

我在这里缺少什么?

这是我项目的结构

在此处输入图片说明

BMi*_*tch 10

引用你的变量。这些变量中的某些东西正在扩展到不仅仅是标志的单个 arg。

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
Run Code Online (Sandbox Code Playgroud)

您还可以回显该命令以查看变量如何扩展,例如

echo docker build ...
Run Code Online (Sandbox Code Playgroud)