No caso (configuração de exemplo) acima, você deve expor apenas a porta 8081 no Docker (e não a porta 80 ou a porta 443).
As portas 80 e 443 são expostas pelo proxy reverso fora do contêiner, e esse tráfego é redirecionado para a porta 8081 (no seu exemplo acima), a porta que você expôs dentro (mapeada para a 80 dentro).
Isso funcionará apenas se você tiver mapeado a porta 80 dentro do contêiner para a porta 8081 (exposta ao host).
expose:
- "8081:80" # http
Espero que isso ajude.
PS: @rebelCoder, sua configuração do apache2 no lado SSL está faltando muitas informações de configuração necessárias.
Veja este post: