I am currently trying to setup Docker Compose to deploy into AWS for the large demo Microsoft eShopOnContainers project. Here is my fork with my AWS-specific Docker Compose YML files.
Here is my eShopOnContainers fork on GitHub: https://github.com/tgourley/eShopOnContainers
I am hoping that a .NET / AWS / Docker guru can help me here.
Right now I am running into two issues:
1. When I deploy the configuration, the first task will setup a load balancer and target group. But any other service that I want public seem to try and connect with the same load balancer. I get the error "A listener already exists on this port for this load balancer" because it is trying to register a port 80 listener on the same load balancer. I would like it to create separate load balancers, but I cannot see how I can do that.
2. I am thinking that I don't have the configurations setup for the health check website to successfully reach the microservices that are running. I can see the basket/catalog/payment/etc... services running, but the WebStatus site cannot seem to find them. I am inserting the task hostnames correctly (i.e. basket-api.eshoponcontainers.local) through env variables to the health check website configuration, and I can resolve that they are going to the right IP address when I try to ping the hostnames.
But the WebStatus website throws an exception: GetHealthReport threw an exception when trying to get report from http://localhost:5102/hc configured with name Ordering HTTP Check.
I can confirm that the env variable that feeds to this specific error is set as:
HealthChecksUI__HealthChecks__4__Name Ordering HTTP Check
HealthChecksUI__HealthChecks__4__Uri http://ordering-api.eshoponcontainers.local/hc
Obviously the Name field is being set (since it is coming across in the exception) but the Uri is being reset (or not set) to the .local Uri.
Any help would be great. Thank you!