簡體   English   中英

將 Verdaccio Registry 與 Skaffold 一起使用

[英]Using Verdaccio Registry with Skaffold

** 編輯 - 重要細節:verdaccio 也在 docker 容器中運行。 問題似乎是容器到容器的通信。 我將 npm 注冊表設置為 localhost 但我認為它正在嘗試連接到容器上下文中的 localhost 而不是容器主機。

我正在嘗試從在本地主機上運行的 Verdaccio 注冊表安裝 package,但不確定如何更改 skaffold 配置或 dockerfile 以將注冊表從 npmjs 更改為 Verdaccio。 我收到的 404 錯誤如下:

npm 通知 npm 錯誤! 代碼 E404 npm 錯誤! 404 未找到 - 獲取https://registry.npmjs.org/@flashsparkmedia%2fcommon - 未找到 npm 錯誤。 404 npm 錯誤。 404 '@flashsparkmedia/common@^1.0,3' is not in the npm registry, npm ERR, 404 You should bug the author to publish it (or use the name.) ZBB30E854114AB56DF84 404 npm 錯誤! 404 請注意,您也可以從 npm 錯誤安裝! 404 壓縮包、文件夾、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 文件,它使用 _authToken 變量引用 localhost:4873

解決了。 將 'docker' 下的 'network' 字段添加到 artifacts 數組中的我的圖像中,並確保將 .npmrc 文件正確復制到根目錄中。 問題中的示例已通過更正進行編輯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM