В приведённом выше примере конфигурации следует открывать только порт 8081 в Docker (а не порты 80 или 443).
Порты 80 и 443 открывает обратный прокси-сервер за пределами контейнера, и этот трафик перенаправляется на порт 8081 (в вашем примере выше) — тот порт, который вы открыли внутри контейнера (сопоставив его с портом 80 внутри).
Это будет работать только в том случае, если порт 80 внутри контейнера сопоставлен с портом 8081 (открытым для хоста).
expose:
- "8081:80" # http
Надеемся, это поможет.
PS: @rebelCoder, в вашей конфигурации apache2 для SSL не хватает многих необходимых настроек.
Смотрите этот пост: