Best practices to configure container with user settings and retrieve logs

Hi everyone.

I’m starting to learn Docker, and trying to find out best practices to configure container.
My application is a .NET Core 2.1 service, which runs some background data exchange tasks. It works with database and requires user certificates to create digital signatures.

So, I have three questions for now:

  1. Application has its own log folders structure. I’ve learned, that Docker uses stdout/stderr to capture logs, but I don’t want to write everything to stdout/stderr: users need structured logs. Is there any way to get logs from the mounted volume as files, or bind mounts is the only option?

  2. There are number of samples, which uses environment variables to pass connection string. What if there are more than one user setting in config file, or even additional user config files? How to pass them to container?

  3. Application requires a number of user certificates to digitally sign the data. Without Docker we install certificates into appropriate OS store. How this should be solved using Docker?

I’m using Docker for Windows in development environment, but production machines are both Windows and Linux (Ubuntu).