首页 > 解决方案 > Docker 构建只需要 1 个参数

问题描述

当我在我的 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

它失败了

build 只需要 1 个参数

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

我在这里想念什么?

这是我项目的结构

在此处输入图像描述

标签: dockergitlab-ci

解决方案


引用你的变量。这些变量中的某些内容正在扩展为不仅仅是标志的单个 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

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

echo docker build ...

推荐阅读