webpack-dev-server внутри проблемы с докером - PullRequest
0 голосов
/ 03 мая 2018

У меня есть такая файловая структура:

/root-app
  /api
  /dashboard
    package.json
    yarn.lock
    Dockerfile
docker-compose.yml

/ корень-приложение / докер-compose.yml

dashboard:
  build: ./dashboard
  command: yarn dev
  volumes:
    - ./dashboard:/usr/src/app
    - /usr/src/app/node_modules

/ корень-приложение / панель / Dockerfile

FROM node
WORKDIR /usr/src/app
ADD package.json yarn.lock ./
RUN yarn install
COPY . .

Когда я запускаю docker-compose up --build папку node_modules в /roor-app/dashboard, она создается, но она пуста. Зачем? У меня должен быть node_modules для местного развития.

ОБНОВЛЕНИЕ 1

Когда я использую абсолютные пути, а не относительные пути

dashboard:
  build: ./dashboard
  command: yarn dev
  volumes:
    - ./dashboard:/usr/src/app
    - ./dashboard/node_modules:/usr/src/app/node_modules

Я получаю эту ошибку:

dashboard | yarn run v1.3.2
dashboard | $ webpack-dev-server --mode development
dashboard | /bin/sh: 1: webpack-dev-server: not found
dashboard | error Command failed with exit code 127.

ОБНОВЛЕНИЕ 2

Мой новый /dashboard/Dockerfile

FROM node
WORKDIR /usr/src/app
COPY package.json ./
COPY yarn.lock ./
RUN yarn install

и удалено - ./hms-dashboard/node_modules:/usr/src/app/node_modules из docker-compose.yml, ошибка обновления 1 все еще здесь.

Ответы [ 2 ]

0 голосов
/ 08 января 2019

Вы можете попробовать установить сборку, в которой в настоящее время обнаружена проблема с кодом выхода 0, но модуль node_modules будет установлен. У меня была проблема, когда devDependencies не устанавливался с пряжей.

FROM node
ARG environment=development

RUN mkdir /client

WORKDIR /client
COPY . /client

EXPOSE 8080

RUN npm --version
RUN npm install yarn
CMD if ["$environment" = "development"]; then yarn install --production=false; else yarn install; fi
RUN echo $environment
CMD if [ "$environment" = "development" ] ; then yarn build && yarn start; else yarn build; fi
0 голосов
/ 04 мая 2018

В вашей /root-app/dashboard/Dockerfile команде удаления копии, поскольку вы уже связываете тот же каталог, используя том.

Также используйте команду COPY вместо команды ADD в Dockerfile.

COPY package.json ./
COPY yarn.lock ./

В docker-compose.yml удалите второй том
- ./dashboard/node_modules:/usr/src/app/node_modules, так как первый каталог (./dashboard) уже смонтирован (/usr/src/app/).

Позвольте мне увидеть ваш вывод после этих обновлений.

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