ODK Collect cannot connect to ODK Aggregate

1. What is the problem? Be very detailed.

ODK Collect cannot connect to ODK Aggregate.
HI All, I have recently set up ODK Aggregate on AWS inside a docker container, connecting to an AWS hosted database. Docker maps port 80:8080 and 224:8224.

The command to run the docker image looks like this:
docker run -p 80:8080 -p 443:8443 -it --env DB_HOST="" --env AGGREGATE_HOST="<myaddress.co.uk>" --name=aggregate aggregate:v2.0.3-1-g78ff26e5-dirty

ODK Aggregate can be accessed via the web address, although I have not yet had time to setup up https. As I understand it, all the default settings in the docker image should support http. I have uploaded a form but when I try to download the form using ODK Collect, it fails with a familiar error that has been listed by others:

{form name} = failed to connect to url/ip address (port 8080) after 30000ms: isConnected failed: ECONNREFUSED (Connection refused).

I only have port 80 and 224 open on the VM. Is it trying to use a different port? Is it trying to use https??

2. What app or server are you using and on what device and operating system? Include version numbers.
ODK collect v1.22.4
ODK aggregate v2.0.3
Ubuntu 18.04 AWS Image
Source code pulled from github and docker image created (aggregate:v2.0.3-1-g78ff26e5-dirty) using instructions

3. What you have you tried to fix the problem?
I have correctly set security.server.hostname to the public hostname. I have tried with both the hostname and public ip but neither work.

Everything is steup to use just http, including on odk-collect. I can access the website of ODK Aggregate from the device. What is different about how the ODK collect lists surveys vs. when it actually tries to download it? If I look at Apache logs, I can see it logs when I list a survey, but nothing is logged when when I try to download the survey. That means the message is probably not getting that far.

4. What steps can we take to reproduce the problem?
Set up as described

5. Anything else we should know or have? If you have a test form or screenshots or logs, attach below.

Start of log:

Fri Jul 05 13:06:35 BST 2019
jdbc.url=<hidden>
jdbc.resourceName=jdbc/aggregate
jdbc.username=<hidden>
jdbc.schema=<hidden>
jdbc.password=<hidden>
jdbc.driverClassName=org.postgresql.Driver

/usr/local/tomcat/webapps/ROOT/WEB-INF/classes/security.properties:
-----
#Fri Jul 05 13:06:35 BST 2019
security.server.realm.realmString=ODK Aggregate
security.server.channelType=ANY_CHANNEL
security.server.superUserUsername=<hidden>
security.server.forceHttpsLinks=false
security.server.superUser=
security.server.port=8080
security.server.securePort=8443
security.help.about=auto-generated on 1970-01-01T00\:00\:00+0000 for ODK Aggregate
security.server.checkHostnames=true
security.server.deviceAuthentication=digest
security.server.hostname=<hidden but working domain>
security.server.secureChannelType=ANY_CHANNEL

Aggregate's form download (but not form listing) relies on the FQDN. @ggalmazor, any ideas?