Мне нужно установить в контейнер множество недостающих узлов node-red. Сохранение (названного) контейнера и запуск его с docker start
работает нормально.
Теперь я хочу сохранить установленные узлы в отдельном внешнем каталоге. Если я монтирую /data
, создаю внешний каталог, он в основном работает, но не помогает, поскольку узлы установлены в ~/node_modules
. Если я попытаюсь смонтировать ~/node_modules
во внешний каталог, node-red не сможет запуститься.
Итак, что я могу сделать, чтобы установленные мной узлы не зависели от исполняемого контейнера?
РЕДАКТИРОВАТЬ. Тем временем я запустил изображение следующим образом:
#!/bin/bash
sudo -E docker run -it --rm -p 1893:1880 -p 11893:11880
\ -e TZ=Europe/Berlin -e NPM_CONFIG_PREFIX=/data/node_modules/
\ -e NODE_PATH=/usr/src/node-red/node_modules:/data/node_modules:/data/node_modules/lib/node_modules
\ --log-driver none --mount type=bind,source="$(pwd)"/data,target=/data
\ --name myNodeRed nodered/node-red
но дополнительные установленные узлы, которые находятся в каталоге /data/node_modules/lib/node_modules
, по-прежнему не видны.
РЕДАКТИРОВАТЬ 2: тем временем я пытался сохранить контейнер. Стало очевидно, что узлы, установленные с использованием npm install -g
, полностью игнорируются.