Here's a guide to setup a Nginx Proxy manager as a docker container. It comes shipped with Let's encrypt for provisioning SSL. Thsi setup will allow you proxy requests to other docker containers automatically and to also issue SSL vertificates from Let's Encrypt without setting up virtual hosts or even installing Certbot manually. You also do not need to install Nginx separately on the host machine for this to work. Below is the basic Docker Compose file for the nginx container:
services:
nginx-proxy:
image: jwilder/nginx-proxy:alpine
container_name: nginxproxy
environment: