No instales Postgres.
Eso es esperado, porque no has instalado Discourse como servidor web.
Entonces (casi con certeza) aún tienes el problema de que los puertos de tu máquina virtual no están expuestos a Internet.
No lo hace. Dice claramente que Discourse no tiene acceso al puerto. Además, tu comando curl muestra que algo más tiene el control del puerto 443.
Creo que el contenedor se construyó correctamente, pero no puede iniciarse porque algo más tiene el puerto 443, o no está haciendo nada porque el puerto 443 está enroutado a otro lugar.
Puedes probar
docker ps
para ver si hay contenedores en ejecución y
docker logs app
para ver qué ha registrado Discourse a través de Docker.