Докер извлекает файлы из package.json

У меня есть простой node.app с этим package.json:

{
  "name": "docker_web_app",
  "version": "1.0.0",
  "description": "Node.js on Docker",
  "author": "xxxxx",
  "main": "server.js",
  "scripts": {
    "start": "node server.js"
  },
  "dependencies": {
    "express": "^4.16.1",
    "myuser-deploy": "git+ssh://[email protected]:myuser/deploy.git"
  }
}

Обычно, когда я запускаю "нпм я", он устанавливает все зависимости, а также одну из github. У меня есть SSH, который я ранее настроил с помощью github. Пока все работает нормально.

Теперь я добавил поддержку Docker для своего приложения, вот так

Dockerfile:

FROM node:carbon

# Create app directory
WORKDIR /usr/src/app

# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json ./

RUN npm install
# If you are building your code for production
# RUN npm install --only=production

# Bundle app source
COPY . .

EXPOSE 8080
CMD [ "npm", "start" ]

docker-compose.yml:

version: "3"
services:
  test-service:
    build: .
    image: test-service
    container_name: test-service
    working_dir: /usr/src/app
    user: node
    restart: always
    ports:
      - '3001:3000'

Когда я запускаю docker-compose up, он выдает такую ​​ошибку:

> npm ERR! Error while executing: npm ERR! /usr/bin/git ls-remote -h -t
> ssh://[email protected]/myuser/deploy.git npm ERR!  npm ERR! Host key
> verification failed. npm ERR! fatal: Could not read from remote
> repository. npm ERR!  npm ERR! Please make sure you have the correct
> access rights npm ERR! and the repository exists. npm ERR!  npm ERR!
> exited with error code: 128
> 
> npm ERR! A complete log of this run can be found in:

Что я могу сделать с докером, чтобы он использовал мои SSH-ключи?

Можете ли вы убедиться, что вы установили переменные прокси в docker-compose, чтобы ваш контейнер мог связываться с внешним миром?

fly2matrix 06.06.2018 11:55

Я могу это подтвердить. Мой докер может разговаривать с внешним миром. С других репозиториев (NPM) тащу без проблем.

Wexoni 06.06.2018 11:58

Если вы используете частный репозиторий git, вам нужно будет добавить в изображение свой ssh-ключ, используемый для Github.

Jack Gore 06.06.2018 15:43

извлекая из частного репозитория git, вы должны использовать либо ключ ssh, либо токен github.

kakashi 07.06.2018 01:34
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
0
4
54
0

Другие вопросы по теме