If when I start my shiny application it loads 1GB of data on startup. Does this mean that if there were 10 concurrent users of the application, ~10GB of RAM would be needed?
Yes, each docker container allocates its own chunk of memory.
Normally, that would result in 10x1GB memory consumption on the host.
Some docker images (e.g. database servers) are written to take advantage of inter-process communication
which allows concepts like shared memory.
But implementing this in your app would probably go much too far, and ShinyProxy currently does not support the ipc flag.