Я использую Dockerfile с указанным ниже содержимым, которое я развертываю, используя смолы.io на Raspberry Pi.
FROM nodered/node-red-docker:rpi-v8
USER root
RUN sudo setcap 'cap_net_bind_service=+ep' $(eval readlink -f `which node`)
USER node-red
Я также хотел бы обновить settings.js
, то естьиспользуется Node-RED, но я не знаю, как я могу это сделать.
Я создал файл settings.js
и добавил следующую строку в свой Dockerfile сразу после команды RUN ... которая выполнила сборку ибыл развернут смолы.io без ошибок.
COPY settings.js /data/
... но при проверке папки /data/
я вижу, что settings.js
не обновляется.Я все еще вижу старый settings.js
, который был автоматически создан при предыдущем развертывании и запуске контейнера.
К вашему сведению содержимое папки /data
моего контейнера:
node-red@997563c:~$ ls -l /data
total 24
-rw-r--r-- 1 node-red node-red 283 Oct 28 08:57 flows.json
drwxr-xr-x 3 node-red node-red 4096 Oct 27 10:44 lib
drwxr-xr-x 3 root root 4096 Oct 26 22:27 node-red
-rw-r--r-- 1 node-red node-red 120 Oct 27 16:44 package.json
-rw-r--r-- 1 node-red node-red 8091 Oct 27 10:44 settings.js
node-red@997563c:~$
К вашему сведению ниже файла журнала контейнера, охватывающего запуск приложения Node-RED:
28.10.18 11:18:03 (+0100) Starting service 'main sha256:472f9797c9288bc3d5a9147597fd33fb982ab34f4eb0e467f70842f05a421f3b'
28.10.18 11:18:04 (+0100) main mount: only root can use "--types" option
28.10.18 11:18:04 (+0100) main mount: only root can use "--move" option
28.10.18 11:18:04 (+0100) main mount: only root can use "--move" option
28.10.18 11:18:04 (+0100) main mount: only root can use "--move" option
28.10.18 11:18:04 (+0100) main mount: only root can use "--move" option
28.10.18 11:18:04 (+0100) main umount: /dev: umount failed: Operation not permitted
28.10.18 11:18:04 (+0100) main mount: only root can use "--move" option
28.10.18 11:18:04 (+0100) main ln: cannot remove ‘/dev/ptmx’: Permission denied
28.10.18 11:18:04 (+0100) main mount: only root can use "--types" option
28.10.18 11:18:04 (+0100) main /sbin/udevd
28.10.18 11:18:04 (+0100) Started service 'main sha256:472f9797c9288bc3d5a9147597fd33fb982ab34f4eb0e467f70842f05a421f3b'
28.10.18 11:18:05 (+0100) main npm info it worked if it ends with ok
28.10.18 11:18:05 (+0100) main npm info using npm@5.0.3
28.10.18 11:18:05 (+0100) main npm info using node@v8.1.3
npm info lifecycle node-red-docker@1.0.0~prestart: node-red-docker@1.0.0
npm info lifecycle node-red-docker@1.0.0~start: node-red-docker@1.0.0
28.10.18 11:18:05 (+0100) main
28.10.18 11:18:05 (+0100) main > node-red-docker@1.0.0 start /usr/src/node-red
28.10.18 11:18:05 (+0100) main > node $NODE_OPTIONS node_modules/node-red/red.js -v $FLOWS "--userDir" "/data"
28.10.18 11:18:05 (+0100) main
28.10.18 11:18:08 (+0100) main 28 Oct 10:18:08 - [info]
28.10.18 11:18:08 (+0100) main
28.10.18 11:18:08 (+0100) main Welcome to Node-RED
28.10.18 11:18:08 (+0100) main ===================
28.10.18 11:18:08 (+0100) main
28.10.18 11:18:08 (+0100) main 28 Oct 10:18:08 - [info] Node-RED version: v0.19.4
28.10.18 11:18:08 (+0100) main 28 Oct 10:18:08 - [info] Node.js version: v8.1.3
28.10.18 11:18:08 (+0100) main 28 Oct 10:18:08 - [info] Linux 4.14.39 arm LE
28.10.18 11:18:09 (+0100) main 28 Oct 10:18:09 - [info] Loading palette nodes
28.10.18 11:18:12 (+0100) main 28 Oct 10:18:12 - [info] Settings file : /data/settings.js
28.10.18 11:18:12 (+0100) main 28 Oct 10:18:12 - [info] Context store : 'default' [module=memory]
28.10.18 11:18:12 (+0100) main 28 Oct 10:18:12 - [info] User directory : /data
28.10.18 11:18:12 (+0100) main 28 Oct 10:18:12 - [warn] Projects disabled : editorTheme.projects.enabled=false
28.10.18 11:18:12 (+0100) main 28 Oct 10:18:12 - [info] Flows file : /data/flows.json
28.10.18 11:18:12 (+0100) main 28 Oct 10:18:12 - [info] Server now running at http://127.0.0.1:80/
28.10.18 11:18:12 (+0100) main 28 Oct 10:18:12 - [warn]
28.10.18 11:18:12 (+0100) main
28.10.18 11:18:12 (+0100) main ---------------------------------------------------------------------
28.10.18 11:18:12 (+0100) main Your flow credentials file is encrypted using a system-generated key.
28.10.18 11:18:12 (+0100) main
28.10.18 11:18:12 (+0100) main If the system-generated key is lost for any reason, your credentials
28.10.18 11:18:12 (+0100) main file will not be recoverable, you will have to delete it and re-enter
28.10.18 11:18:12 (+0100) main your credentials.
28.10.18 11:18:12 (+0100) main
28.10.18 11:18:12 (+0100) main You should set your own key using the 'credentialSecret' option in
28.10.18 11:18:12 (+0100) main your settings file. Node-RED will then re-encrypt your credentials
28.10.18 11:18:12 (+0100) main file using your chosen key the next time you deploy a change.
28.10.18 11:18:12 (+0100) main ---------------------------------------------------------------------
28.10.18 11:18:12 (+0100) main
28.10.18 11:18:12 (+0100) main 28 Oct 10:18:12 - [info] Starting flows
28.10.18 11:18:12 (+0100) main 28 Oct 10:18:12 - [info] Started flows
К вашему сведению df
вывода моего док-контейнера:
node-red@997563c:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
none 6794760 748316 5677608 12% /
tmpfs 65536 0 65536 0% /dev
/dev/mmcblk0p6 6794760 748316 5677608 12% /data
none 306201 245637 40494 86% /lib/modules
tmpfs 499556 0 499556 0% /tmp/resin
shm 65536 0 65536 0% /dev/shm
tmpfs 499556 10024 489532 3% /host/run/dbus
node-red@997563c:~$
1stОбновление (2018-10-28):
Следующие 2 ссылки описывают, как settings.js
также предоставляется как часть сценариев сборки Docker для node-RED.Так что это технически возможно, но в настоящее время я не знаю, как я могу сделать это с официальным nodered / node-red-docker хранилище
- https://github.com/resin-io-projects/balena-node-red
- https://medium.com/@knolleary/deploying-node-red-applications-to-devices-using-resin-io-58d2042cdb0c