Я использую 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
Помощь будет высоко ценится.