问题描述
** 编辑 - 重要细节:verdaccio 也在 docker 容器中运行。问题似乎是容器到容器的通信。我将 npm 注册表设置为 localhost,但我认为它正在尝试连接到容器上下文中的 localhost 而不是容器主机。
我正在尝试从在 localhost 上运行的 Verdaccio 注册表安装软件包,但不确定如何更改 skaffold 配置或 dockerfile 以将注册表从 npmjs 更改为 Verdaccio。我收到的 404 错误如下:
npm 通知 npm 错误!代码 E404 npm 错误! 404 未找到 - GET https://registry.npmjs.org/@flashsparkmedia%2fcommon - 未找到 npm 错误! 404 npm 错误! 404 '@flashsparkmedia/common@^1.0.3' 不在 npm 注册表中。 npm 错误! 404 你应该bug作者发布它(或者你自己用这个名字!) npm 错误! 404 npm 错误! 404 请注意,您也可以从 npm 错误! 404 tarball、文件夹、http url 或 git url。
这是我的 dockerfile 和 skaffold.yaml 供参考:
apiVersion: skaffold/v2beta4
kind: Config
deploy:
kubectl:
manifests:
- ./infra/k8s/*
build:
local:
push: false
artifacts:
- image: flashsparkmedia/auth
context: auth
docker:
dockerfile: Dockerfile
network: host
sync:
manual:
- src: 'src/**/*.ts'
dest: .
- image: flashsparkmedia/client
context: client
docker:
dockerfile: Dockerfile
sync:
manual:
- src: '**/*.js'
dest: .
FROM node:alpine
WORKDIR /app
ARG NPM_TOKEN
COPY .npmrc .
COPY package.json .
RUN npm install --only-prod
RUN rm -f .npmrc
COPY . .
CMD npm start
我在根目录中也有一个 .npmrc 文件,引用 localhost:4873 和一个 _authToken 变量
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)