Как смонтировать том на docker -композицию, но сохранить существующую подпапку из образа? - PullRequest
0 голосов
/ 23 февраля 2020

У меня есть проект узла, и в моем образе docker уже установлены зависимости.

Я хочу выполнить docker -compose с папкой моего проекта, чтобы синхронизировать c с папкой контейнера поэтому я могу редактировать локальные файлы, и они должны меняться внутри контейнера.

НО я хочу сохранить любой контент, который был внутри папки node_modules изображения.

Я знаю этот вопрос говорит мне, как игнорировать подпапку при монтировании тома, но это сотрет зависимости, которые уже были установлены.

Есть ли способ смонтировать папку моего проекта, но сохранить подпапку node_modules контейнера?

1 Ответ

0 голосов
/ 23 февраля 2020

Попробуйте это

Dockerfile

...
RUN mkdir -p /app/node_modules
VOLUMES /app/node_modules
VOLUMES /app
EXPOSE XX
...

Структура проекта

project/
|--node_modules/
|----...
|--docker_node_modules/
|----...
|--docker-compose.yml
|--...

Docker команда запуска

docker run --it --rm \
    -p xx:xx \
    -v /host/path/project/docker_node_modules:/app/node_modules \
    -v /host/path/project:/app \
    nodeImageExample \
    commandToStartYourNodeApp
  1. От вашего хоста при запуске npm install он будет установлен под ./node_modules (host)

  2. Из контейнера при запуске npm install (container) он будет установлен под /app/node_modules (container) и ./docker_node_modules/ (host)

При этом вы сохраняете пакет из вашего контейнера, не затрагивая ваши node_modules

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