npm - 由于 NPM 的身份验证问题,服务无法在 Kubernetes 上运行
问题描述
我正在尝试将服务部署到谷歌云 kubernetes 平台。所有其他服务都运行良好,但由于身份验证错误,此服务无法加载。我不确定问题是什么。
这是错误:
npm ERR! code E401
npm ERR! Unable to authenticate, need: Basic realm="GitHub Package Registry"
我已经保证了以下几点:
- 具有正确注册表的 .npmrc 文件。
Cloudbuild.yaml 存在。
存在 Dockerfile。
配置与其他有效的服务几乎相同。
编辑:此外,还有一个与此构建相关的身份验证令牌,来自 dockerfile 中链接的基本 Docker 映像。
解决方案
修复了问题:
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 之后,我意识到它的使用是必不可少的。
推荐阅读
- r - 重命名文件夹中的多个文件,从 R 中的 001 计数到 xxx
- python - Python将basicConfig记录到文件和bash
- javascript - 如何在复选框中组合相同的命名值并为它们提供默认值
- javascript - Jquery 代码在 IE 中不工作,但在所有其他浏览器中工作
- javascript - sessionStorage - 仅在初始页面加载时执行行为
- javascript - 根据数组javascript中的日期和名称过滤、匹配、计算
- mongodb - 如何将文档转换为键值?
- javascript - JavaScript 字典,[dictionary_name].[something] 是什么意思?
- c# - 实体框架种子 -> SqlException:重置连接会导致与初始登录不同的状态。登录失败。
- selenium-chromedriver - 无头 chrome 中的 Autodesk forge 查看器,CONTEXT_LOST_WEBGL