首页 > 解决方案 > 由于 NPM 的身份验证问题,服务无法在 Kubernetes 上运行

问题描述

我正在尝试将服务部署到谷歌云 kubernetes 平台。所有其他服务都运行良好,但由于身份验证错误,此服务无法加载。我不确定问题是什么。

这是错误:

npm ERR! code E401
npm ERR! Unable to authenticate, need: Basic realm="GitHub Package Registry"

我已经保证了以下几点:

配置与其他有效的服务几乎相同。

编辑:此外,还有一个与此构建相关的身份验证令牌,来自 dockerfile 中链接的基本 Docker 映像。

标签: npmkubernetesgoogle-cloud-platform

解决方案


修复了问题:

FROM gcr.io/xxxxx

# Copy in the project files
COPY . .

# Clean
USER root
RUN rm -fr node_modules

USER pptruser

ENV NODE_ENV=production

RUN npm install && \
    npm cache clean --force

EXPOSE 4000

# Running the app
CMD [ "npm", "start" ]

“pptruuser”不存在,但在比较了来自其他服务的一些其他 dockerfile 之后,我意识到它的使用是必不可少的。


推荐阅读