繁体   English   中英

从 azure 中的 Dockerfile 向私人 npm 注册表进行身份验证?

[英]Authenticate to private npm registry from Dockerfile in azure?

提示:本站为国内最大中英文翻译问答网站,提供中英文对照查看,鼠标放在中文字句上可显示英文原文

我有以下 Dockerfile:

FROM node:alpine

WORKDIR ./usr/local/lib/node_modules/npm/

COPY .npmrc ./

COPY package.json ./
COPY package-lock.json ./
RUN npm ci

COPY . .


EXPOSE 3000

CMD ["npm", "run", "start-prod"]

此文件在 azure 管道中使用,如下所示:

variables:
  - name: NPMRC_LOCATION
    value: $(Agent.TempDirectory)
    
  - stage: BuildPublishDockerImage
    displayName: Build and publish Docker image
    dependsOn: Build
    jobs:
      - job: BuildPublishDockerImage
        steps:
          - checkout: self
          - task: DownloadSecureFile@1
            name: npmrc
            inputs:
              secureFile: .npmrc
          - task: npmAuthenticate@0
            inputs:
              workingFile: $(NPMRC_LOCATION)/.npmrc
          - task: Docker@2
            displayName: Build a Docker image
            inputs:
              command: build
              arguments: --no-cache

我知道.npmrc应该在那个位置(我在 Dockerfile 和那里运行RUN ls )。
但是,当我运行它时,我不断收到此错误:

无法使用前端 dockerfile.v0 解决:构建 LLB 失败:计算缓存键失败:“/.npmrc”未找到:未找到

我只想对私有 npm 注册表进行身份验证。 我对此感到困惑。 感谢您的帮助。

你可以在Dockerfile设置注册表

npm config set registry 
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2023 STACKOOM.COM