I'm running everything (except nginx of course) via docker.
I have a container with Nginx in docker, and it works perfectly
My config is:
Then, inside the router (I have a AVM Fritzbox 7590) you have to expose 2 ports: 80 and 443
In my case the ports are:
The finale result, in Nginx, is like in the attachment.