I have been using Node-Red in docker for about 2 months now. I am running all my stuff in docker containers on a Raspberry Pi 3 using the Hypriot OS. I find it useful to run in docker mainly because i have another VM, which is set up on my laptop and i can easily switch over to it with minimum downtime of services (e.g. Homeautomation), being able to run the same stuff as on the RPi. I use persistent volumes for node-red data, so that when i install new modules, as well as if i rebuild the container the data is always there.
I can use the Exec node as well, even though Node-Red is in a docker container.
If you have any question, feel free to ask.