如何使用 docker 从私有存储库安装软件包

keh*_*hez 5 npm docker npm-install

我正在从我的私人存储库安装一个包。我可以使用以下方法安装它: npm i -S git+https://oauth2:XXXXXXX@gitlab.com/mygroup/acl-api.git

我正在使用 docker 容器,但在安装过程中出现错误:

npm ERR! path git
npm ERR! code ENOENT
npm ERR! errno ENOENT
npm ERR! syscall spawn git
npm ERR! enoent Error while executing:
npm ERR! enoent undefined ls-remote -h -t https://oauth2:XXXXXXX@gitlab.com/mygroup/acl-api.git
npm ERR! enoent
npm ERR! enoent
npm ERR! enoent spawn git ENOENT
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

我的码头文件:

FROM node:alpine

COPY package.json package.json
COPY src src
COPY .babelrc .babelrc

RUN npm install  
RUN npm run gitlab-build

RUN ls
EXPOSE 8080
CMD ["npm", "run", "docker-start"]
Run Code Online (Sandbox Code Playgroud)

agu*_*ina 12

如果你想要让拉存储库,你应该添加gitopenssh-client和其他包node:alpinenpm

FROM node:alpine

RUN apk add --update \
  python \
  python-dev \
  py-pip \
  build-base \
  git \
  openssh-client \
&& pip install virtualenv \
&& rm -rf /var/cache/apk/*

COPY package.json package.json
COPY src src
COPY .babelrc .babelrc

RUN npm install  
RUN npm run gitlab-build

RUN ls
EXPOSE 8080
CMD ["npm", "run", "docker-start"]
Run Code Online (Sandbox Code Playgroud)