который хотел
есть файл docker-compose в нем 1 сервис, который собирается из докерфайла в котором используется image + устанавливается nodejs и выполняется npm install внутри usr/share/nginx/html
вот кусок из докер компос
volumes:
- ./src:/usr/share/nginx/html
приложение которое я монтирую содержит package.json и корневой файл index.html от которого и начинает работу image
в чем проблема? пакеты устанавливаются на машине, затем монтируется volume и этих пакетов там нету, т.к. локально node_modules нету, тогда я задал вопрос здесь и пришел к такому результату
volumes:
- './src:/usr/share/nginx/html'
- /usr/share/nginx/html/node_modules
теперь локально торчит папка node_modules в которую нельзя зайти
ничего не понятно
и что нужно
зачем этот абсолютный путь
в dockerfile COPY ./src/package*.json ./ RUN apk update && \ apk --no-cache add nodejs npm && \ npm install происходит установка пакетов что приводит к создании папки node_modules внутри src, потом монтируется volume и папки нету, я добавил строчку в volume (не разобравшись что она делает) и после монтирования папка остается и локально у меня тоже отображается правда зайти в неё нельзя, ну и тут либо дать возможность заходить (тогда можно будет и локально работать), либо вообще локально не показывать её
копируй проект а потом npm -i
WORKDIR /app COPY . . RUN npm -i
ну такой вариант актуален если я не хочу volume использовать
npm -i и ран вынеси в команд
внутри докер компос команд на установку добавить? она ведь после монтирования выполнится?
стоп, она ведь выполнятся будет каждый раз при запуске докер компос
зачем каждый раз устанавливать пакеты) ?
а зачем хернёй заниматься ты мне не ответил
Обсуждают сегодня