Невозможно установить npm в образе докера узла - PullRequest
0 голосов
/ 02 октября 2019
FROM node:latest

WORKDIR /frontend/

ENV PATH /frontend/node_modules/.bin:$PATH

COPY package.json /frontend/package.json
COPY . /frontend/
RUN npm install --silent
RUN npm install react-scripts@3.0.1 -g --silent

CMD ["npm", "run", "start"]

Это мой Dockerfile для интерфейса моего проекта.

Я помещаю это как одну из служб в мой файл docker-compose.yml, и когда я запускаю docker-compose up -d --build, он даетme

Step 6/8 : RUN npm install --silent
 ---> Running in 09a4f59a96fa
ERROR: Service 'frontend' failed to build: The command '/bin/sh -c npm install --silent' returned a non-zero code: 1

Мой файл docker-compose для справки выглядит следующим образом:

# Docker Compose
version: '3.7'

services:
  frontend:
    container_name: frontend
    build:
      context: frontend
      dockerfile: Dockerfile
    ports:
      - "3000:3000"
    volumes:
      - '.:/frontend'
      - '/frontend/node_modules'
  backend:
    build: ./backend
    ports:
      - "5000:5000"
    volumes:
       - .:/code

Заранее спасибо

РЕДАКТИРОВАТЬ: ошибка во внешнем интерфейсе послесборка

enter image description here

1 Ответ

0 голосов
/ 02 октября 2019

Для docker-compose я думаю, что это должно быть похоже на

- ./frontend/:/frontend'

, поскольку контекст сборки является внешним.

Во-вторых, если вы используете том, то почему вы устанавливаете икопировать код в Dockerfile? Если вы используете том связывания, удалите их из Dockerfile, поскольку они будут переопределены из кода хоста.

COPY package.json /frontend/package.json
COPY . /frontend/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...