** edit - важная деталь: verdaccio также работает в докер-контейнере. Проблема, похоже, связана с сообщением между контейнером. У меня реестр npm установлен на localhost, но я думаю, что он пытается подключиться к localhost в контексте контейнера, а не к хосту контейнера.
Я пытаюсь установить пакет из реестра Verdaccio, работающего на localhost, и не знаю, как изменить конфигурацию skaffold или файл докеров, чтобы изменить реестр с npmjs на Verdaccio. Ошибка 404, которую я получаю, приведена ниже:
npm замечание npm ERR! код E404 npm ERR! 404 не найден - ПОЛУЧИТЕ https://registry.npmjs.org/@flashsparkmedia%2fcommon - Не найдено npm ERR! 404 нпм ERR! 404 '@ flashsparkmedia / common @ ^ 1.0.3' отсутствует в реестре npm. npm ERR! 404 Вы должны вывести автора из строя, чтобы опубликовать его (или используйте имя самостоятельно!) Npm ERR! 404 нпм ERR! 404 Обратите внимание, что вы также можете установить из npm ERR! 404 tarball, папка, URL-адрес http или URL-адрес git.
Вот мой файл 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