Проблема У меня есть контейнер docker, который я использую, используя docker -compose. Контейнер docker работает с приложением Gatsby JS.
Во время разработки, когда я хочу загрузить новый пакет npm, я могу установить его локально, но когда я проверяю node_modules внутри работающего контейнера, он не появляется, требуя от меня остановить контейнер и запустить его снова.
Я вставил свой Dockerfile и Docker Compose файл ниже. (Gatsby JS - это клиентский контейнер, игнорируйте остальные)
docker -compose.yaml
version: "3"
services:
client:
build:
context: ./client
dockerfile: Dockerfile.dev
volumes:
- ./client:/app
- /app/node_modules
api:
build:
context: ./api
dockerfile: Dockerfile.dev
volumes:
- ./api:/app
- /app/node_modules
environment:
- PORT=5000
nginx:
build:
context: ./nginx
dockerfile: Dockerfile.dev
restart: always
depends_on:
- api
- client
ports:
- "3050:80"
Dockerfile
FROM node:12
WORKDIR /app
# Downloading Prereqs
RUN apt-get update && apt-get install -y build-essential && apt-get install -y libglu1
COPY package.json .
RUN npm update
RUN npm install
COPY . .
CMD [ "npm", "run", "start" ]