Как «спрятать» node_modules-dir от хоста при монтировании src-dir в docker-compose? - PullRequest
0 голосов
/ 02 апреля 2019

Я использую docker-compose (версия 1.24.0) для запуска моего приложения Node.js внутри контейнера.В режиме разработки я монтирую свой том src, но я бы хотел, чтобы контейнер использовал каталог node_modules, который не был создан на моем хосте, только локально внутри контейнера.

Выдержка из моего докера-compose

volumes:
  - .:/usr/src/app
command:
 - /bin/sh
 - -c
 - |
   npm install
   npm run dev

Есть ли способ сделать подкаталог /usr/src/app/node_modules локальным для контейнера и npm install не создавать и не заполнять каталог ./node_modules на хосте?

Я попробовал это решение , опубликованное в Stackoverflow, каким-то образом каталог node_modules все еще создается и заполняется на моем хосте после запуска npm install . внутри контейнера.Я использовал следующие модифицированные docker-compose.yml:

volumes:
  - .:/usr/src/app
  - /usr/src/app/node_modules
command:
 - /bin/sh
 - -c
 - |
   npm install
   npm run dev

Я даже пытался использовать именованные тома, например, так:

  volumes:
    - .:/usr/src/app
    - node_modules:/usr/src/app/node_modules

volumes:
- node_modules

Помощь будет высоко ценится.

...